java2 实用教程第四章

博主原创 转载请注明地址

1成员变量

声明变量所声明的变量被称为成员变量和域变量,成员变量在类中的书写位置与前后顺序无关,

但是有个特点就是变量的赋值问题:成员变量在定义的时候可以有默认值,而域变量在定义的时候没默认值,所以在定义的时候应该特别注意是否需要赋值的问题

变量名的定义也有规范的要求,如果变量是一个单词组成的,那么最好首字母大写,如果是两个甚至两个以上的单词组成,那么最好从第二个单词开始首字母大写

在类中对变量的操作只能在方法中操作,例如需要计算或赋值的一系列问题,赋值当然也可以在定义的时候赋值,但是记住不要在除了方法中和定义意外赋值,java中不允许这么做

2创建对象用类创建一个对象需要分成两部,

1)先用类定义一个变量

2)使用new方法为对象分配内存

例如:类Lader 定义对象lader

Lader lader;

lader=new Lader();

new运算符再为对象分配变量以后,将返回一个引用给对象变量

分配给对象的变量我们习惯性的称为对象的实体

3垃圾收集

有时候我们在操作的过程中会将一个对象赋给另外一个对象,说白了就是把a对象的引用赋给了b对象,这时就是两个对象公用一段内存,a对象的实体就不属于任何一个变量了,

java有所谓的垃圾收集机制,这种机制可以周期性的检测某个实体是否已经不再属于任何一个对象拥有,如果发现了这样的实体,就释放实体所占有的内存,

如果希望java虚拟机立刻执行垃圾收集操作,可以用System类调用gc()方法

4

在java语言中,类有构造方法,但是没有析构方法

5

如果需要编译某个目录下的所有java文件,可以进入该文件,使用通配符*代表所有源文件名字来执行编译全部文件的功能

例如c:p/目录下的文件

那么只是需要执行  c:p/ >javac  *.java

6对象的组合与类之间的关系

如果一个对象组合了另一个对象,那么a对象可以使用b对象的方法

通过组合对象有几个特点

(1)通过组合对象来复用方法也称为黑盒复用,因为当前对象只能使用组合对象的方法,而所组合的对象的方法的细节及其算法的实现时不知道的,所以习惯性称为黑盒复用

(2)当前对像可以随时改变所包含的对象,其实即对象与所包含的的对象属于弱耦合关系

关系在UML中学了大家学了4种主要关系,这里课本只是介绍了两种,那么我就大致概括一下这两种

如果a类中的成员变量是用b类声明的对象,那么a和b的关系式关联关系

依赖关系:如果A类中某个方法的参数是b类声明的对象或某个方法返回的数据类型b类的对象,那么a和b是依赖关系

7实例成员与类成员

定义:在声明成员变量的时候,如果用关键字static给予修饰的称作类变量,否则叫做实例变量,(类变量也叫static变量,静态变量)

两种变量的区别:

类变量:当类有类变量的时候,如果使用类 new创建不同的对象的时候,分配给这些对象的类变量共同占有一块内存,而实例变量是每个对象的实体分别占有一个属自己对象的内存;

不管在类中有没有声明类变量,但是在java程序执行的时候,类的字节码文件被加载到内存的时候,都会自动为类变量生成一段内存,当程序执行结束的时候才开始释放,但是实例成员是只有定义的时候

才会在内存中为它生成一段空间,否则不会生成空间

8

时间: 2024-10-28 14:39:14

java2 实用教程第四章的相关文章

《Java2 实用教程(第五版)学习指导

<Java2 实用教程(第五版)> 第1章Java入门 主要内容:P1 1.1Java的地位:P1 1.2Java的特点:P2 1.3安装JDK:P5 1.4Java程序的开发步骤:P8 1.5简单的Java应用程序:P9 1.6Java反编译:P13 第2章基本数据类型与数组 主要内容:P17 2.1标识符与关键字:P17 2.2基本数据类型:P18 2.3类型转换运算:P21 2.4输入.输出数据:P23 2.5数组:P24 第3章运算符.表达式和语句 主要内容:P33 3.1运算符与表达

[Learn Android Studio 汉化教程]第四章 : Refactoring Code

[Learn Android Studio 汉化教程]第四章 : Refactoring Code 第四章 Refactoring Code    重构代码 在Android Studio中开发,解决方案不会总是一蹴而成的.作为一个有效率的编程者,在你的开发,调试和测试中需要一些弹性以及代码重构.随着在这章中的行进,你将明白Android Studio如何产生代码:在这章里你将看到Android Studio如何重构你的代码.重构代码最大的风险是可能引入不期望的错误.通过分析某些风险重构操作的结

(转)JAVA AJAX教程第四章—AJAX和MVC的简单结合

这里我们再理解了AJAX后,开始来用实例感受AJAX的力量. 今天我最后要实现的效果,当鼠标放到图片上时会根据,会把数据库库里的数据读出,通过显示框显示出来.这个在很多网上商店都有用到这里效果,我们这里用AJAX来实现这个效果.这个实例里结合了MySql.Servlet还有Js,理论性很少,但通过实践来感受理论知识. 一个页面中应用了 AJAX,同时他也能实现MVC框架,可以吗?当然可以的.通过页面调用AJAX,这个页面就是MVC中的V,他用来前台显示与用户交互的内容.用 JavaBean作为M

HttpClient4.3教程 第四章 HTTP认证

HttpClient4.3教程 第四章 HTTP认证 Posted on 2013 年 10 月 17 日 HttpClient既支持HTTP标准规范定义的认证模式,又支持一些广泛使用的非标准认证模式,比如NTLM和SPNEGO. 4.1.用户凭证 任何用户认证的过程,都需要一系列的凭证来确定用户的身份.最简单的用户凭证可以是用户名和密码这种形式.UsernamePasswordCredentials这个类可以用来表示这种情况,这种凭据包含明文的用户名和密码. 这个类对于HTTP标准规范中定义的

2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流

知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一个短板. 中文代码示例Python入门教程 4.1 if条件语句 & 4.2 for语句_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili? 中文代码示例Python入门教程 4.3 range函数_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili? 中文代码示例Python入门教程 4.4 b

Flask 教程 第四章:数据库

本文翻译自 The Flask Mega-Tutorial Part IV: Database 在Flask Mega-Tutorial系列的第四部分,我将告诉你如何使用数据库. 本章的主题是重中之重!大多数应用都需要持久化存储数据,并高效地执行的增删查改的操作,数据库为此而生. 本章的GitHub链接为: Browse, Zip, Diff. Flask中的数据库 Flask本身不支持数据库,相信你已经听说过了. 正如表单那样,这也是Flask有意为之.对使用的数据库插件自由选择,岂不是比被迫

storm入门教程 第四章 消息的可靠处理【转】

4.1 简介 storm可以确保spout发送出来的每个消息都会被完整的处理.本章将会描述storm体系是如何达到这个目标的,并将会详述开发者应该如何使用storm的这些机制来实现数据的可靠处理. 4.2 理解消息被完整处理 一个消息(tuple)从spout发送出来,可能会导致成百上千的消息基于此消息被创建. 我们来思考一下流式的“单词统计”的例子: storm任务从数据源(Kestrel queue)每次读取一个完整的英文句子:将这个句子分解为独立的单词,最后,实时的输出每个单词以及它出现过

SQLAlchemy教程-第四章-SQL常用查询的ORM写法进阶2-待完善

内容预告 别名的用法 函数的用法 分组的写法. case when的用法. exists的用法 为啥要用别名? 如果两个表的两列名字相同, 那么为了区分这两列, 必须使用别名. 如果有一列是通过运算出来的, 那么一定要给这列起个名字, 否则无法在查询结果中引用. 看别名的写法. 先把代码贴上来, 然后注释我都在代码里写了, 请大家自行阅读~ (#^.^#) from models import * # 别名 def query_with_column_alias(): emps = sess.q

Java2实用教程(第5版)重要点及遗漏点(二)

3.2 语句概述 一个分好也是一条语句,称作空语句. 3.3.1 if语句 If(表达式) If后面的一堆小括号()内的表达式的值必须是boolean类型 3.3.2 if-else语句 If-else(表达式) If后面的一堆小括号()内的表达式的值必须是boolean类型 3.4 switch开关语句 Switch(表达式) { case 常量值1: 语句: break: case 常量值2: 语句: break: -- default: 语句: } 表达式.常量值 的值可以是 byte.s