1. 基于对象的访问权限
- 一个方法可以访问所属类的所有对象的私有数据
代码示例
class Student
{
...
private String name;
...
public boolean equals(Student stu)
{
return name.equals(stu.name);
}
}
2. final实例域
- 将实例域定义成final,则在构造对象时必须初始化这样的域,并且初始化之后不可修改。
- final修饰符大多用于基本类型域或不可变类的域。
- final修饰符用于对象变量时,仅表示变量中的对象引用不会指向其他对象,但该对象可以被修改。
3. 方法参数
- 按值调用:方法接收的是调用者提供的值。
- 按引用调用:方法接收的是调用者提供的变量地址。
- 方法可以修改按引用调用所对应的变量值,而不能修改按值调用所对应的变量值。
- Java程序设计语言总是采用按值调用的方式,Java的对象引用也是按值传递的。
Java中方法参数的使用情况:
- 一个方法不能修改一个基本数据类型的参数。
- 一个方法可以修改一个对象参数的状态。
- 一个方法不能让对象参数引用一个新的对象。
4. 调用构造器的具体处理步骤:
1)所有数据域被初始化为默认值(0、false或null);
2)按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块;
3)如果构造器第一行调用了第二个构造器,则执行第二个构造器主体;
4)执行这个构造器的主体。
5. 类设计技巧
- 一定要保证数据私有。
- 一定要对数据初始化。
- 不要在类中使用过多的基本类型。
- 不是所有的域都需要独立的域访问器和域更改器。
- 将职责过多的类进行分解。
- 类名和方法名要能够体现它们的职责。
- 优先使用不可变的类。