对象的3个主要特性:
对象的行为;
对象的状态;
对象的标识。
类之间的关系:
依赖(uses-a)
聚合(has-a)
继承(is-a)
类变量不会自动的初始化为null。
Java编译:
可以认为Java编译器内置了make功能,会自动搜索要编译的java文件并进行编译。
基于类的访问权限:
一个方法可以访问所属类的所有对象的私有数据。
final域必须确保在构造器执行之后被设置。
可以通过java对象访问类方法。
必须明确初始化方法中的局部变量,类域会进行默认初始化。
调用构造器的具体处理步骤:
所有数据域被初始化为默认值(0、false或null)
按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块。
如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
执行这个构造器主体。
import语句应该位于文件头,单位与package语句之后。
如果没有在类文件顶部定义package语句,类被放到默认包中,默认包是没有名字的包。
编译时不检查包目录结构。
javac编译器总在当前路径查找,但java虚拟机在类路径中查找文件。
方法注释:
@param variable description
@return description
@throws class description
域注释:
对公有域进行注释
类注释:
@author name
@version text
@since text
@deprecated text
@see reference
类设计技巧
所有数据设计为私有
一定要对数据初始化
不要在类中使用过多的基本数据类型
不是所有的域都需要独立的域访问器和域更改器
使用标准格式进行类的定义
公有访问特性部分
包作用域访问特性部分
私有访问特性部分
每一部分,按照下列顺序列出
实例方法
静态方法
实例域
静态域
将职责过多的类进行分解
类名和方法体现他们的职责