教材学习内容总结
1.
面向对象语言的三个特性:封装性、继承、多态。
2.
给类命名时,遵守下列编程风格:
(1)如果类名使用拉丁字母,那么名字的首字母使用大写字母,如Hello
(2)类名最好容易识别、见名知意。当类名由几个“单词”复合而成时,每个单词的首字母应大写,如ChinaMade
3.
类使用类体来描述所抽象出的属性和行为,类声明之后的一对大括号“{”“}”以及它们之间的内容称作类体,大括号之间的内容称作类体的内容。
4.
类体中的内容可分为两部分:一部分是变量的声明;另一部分是方法的定义。声明变量部分所声明的变量被称为成员变量或域变量。
5.
成员变量在整个类内都有效,其有效性与它在类体中书写的先后位置无关
6.
成员变量的编程风格
(1)一行只声明一个变量。
(2)变量的名字除了符合标识符规定外,名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其他单词的首字母使用大写(驼峰习惯)。
(3)变量名字见名知意,避免使用诸如m1、n1等作为变量的名字,尤其是名字中不要将小写的英语字母l和数字1相邻。
7.
当一个方法是void类型时,该方法就不需要返回数据
在方法体中声明的变量和方法的参数被称作局部变量
方法内的局部变量从声明它的位置之后开始有效
8.
如果局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,即该成员变量在这个方法内暂时失效
如果想在该方法中使用被隐藏的成员变量,必须使用关键字this
9.
成员变量有默认值,但局部变量没有默认值
10.
类中的构造方法的名字必须与它所在的类的名字完全相同,而且没有类型
11.
创建一个对象包括对象的声明和为对象分配变量两个步骤
使用new运算符和类的构造方法为声明的对象分配变量,即创建对象
12.
通过使用运算符“.”,对象可以实现对自己的变量的访问和方法的调用
13.
没有实体的对象称作空对象,空对象不能使用
一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)
14.
在Java语言中,类有构造方法,但没有析构方法
15.
使用通配符*代表各个源文件的名字来编译全部的源文件
16.
方法被调用时,参数变量必须有具体的值
方法如果改变参数的值,不会影响向参数“传值”的变量的值
对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别
17.
可变参数是指在声明方法时不给出参数列表中从某项开始直至最后一项参数的名字和个数,但这些参数的类型必须相同
“参数代表”必须是参数列表中的最后一个
18.
for(声明循环变量:参数代表){
…
}
上述for语句的作用就是:对于循环变量,依次取参数代表所代表的每一个参数的值
19.
如果一个对象a组合了对象b,那么对象a就可以委托对象b调用其方法,即对象a以组合的方式复用对象b的方法
通过组合对象来复用方法有以下特点:
(1)当前对象只能委托所包含的对象调用其方法,当前对象对所包含的对象的方法的细节(算法的细节)是一无所知的。
(2)当前对象随时可以更换所包含的对象,即对象与所包含的对象属于弱耦合关系
20.
在声明成员变量时,用关键字static给予修饰的称作类变量,否则称作实例变量
方法声明是,方法类型前面不加关键字stastic修饰的是实例方法,加static关键字修饰的是类方法
21.
实例变量和类变量的区别:
(1)不同对象的实例变量互不相同
(2)所有对象共享类变量
(3)通过类名直接访问类变量
22.
实例方法和类方法的区别:
(1)对象调用实例方法
(2)类名调用类方法
(3)设计类方法的原则
23.
方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。两个方法的参数不同是指满足下列之一:
(1)参数的个数不同
(2)参数个数相同,但参数列表中对应的某个参数的类型不同
24.
this可以出现在实例方法和构造方法中,但不可以出现在类方法中。
this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象
当this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象
当实例成员变量的名字和局部变量的名字相同时,成员变量前面的“this.”或“类名.”就不可以省略
25.
包是java语言有效地管理类的一个机制。
包名的目的是有效地区分名字相同的类。
通过关键字package声明包语句。
包名可以是一个合法的标识符,也可以是若干个标识符加“.”分隔而成
26.
如果用户需要类库中的类,就必须使用import语句。
在一个java源程序中可以有多个import语句,它们必须写在package语句和源文件中类的定义之间
27.
在编写类的时候,类中的实例方法总是可以操作该类中的实例变量和类变量;类方法总是可以操作该类中的类变量,与访问限制符没有关系。
28.
不用private、public、protected修饰符修饰的成员变量和方法被称为友好变量和友好方法
类声明时,如果在关键字class前面加上public关键字,就称这样的类是一个public类,如果一个类不加public修饰,这样的类被称作友好类
不能用protected和private修饰类
29.
Double对象调用doubleValue()方法可以返回该对象含有的double型数据;Float对象调用floatValue()方法可以返回该对象含有的float型数据
Byte、Short、Interger和Long对象分别调用byteValue()、shortValue()、intValue()和longValue()方法返回该对象含有的基本类型数据
Character对象调用charValue()方法可以返回该对象含有的char型数据
教材学习中的问题和解决过程
此程序在JavaSE-1.8的环境中不能运行,在JavaSE-1.7的环境中才能运行
在同一个包中出现两个名字相同的类会出现报错,要把之前的类名更改后才能运行
参考资料
《java 2实用教程(第5版)》