一,匿名对象的使用
1.匿名对象调用属性值无效
例如:new Car().color = "blue";//因为这条语句一旦执行完,内存单元就被释放了,修改无效
2.当对对象的方法只调用一次是,可以使匿名对象完成,这样写比较简化。
例如:new Car().run();//只需要调用一次run方法
3.匿名对象可以直接作为实际参数传递。
例如:show(new Car());
二,构造代码块的使用
例如:
class Person {
private String name;
private int age;
// 构造代码块
{
//
}
}
作用:
1.给对象进行初始话,对象一建立就执行,优先于构造函数。
2.构造代码块是给所有对象统一初始化,而构造函数是给对应的对象初始化。
3.不同对象的共性定义在构造代码块中。
注意:静态代码块,随着类的加载而执行,只执行一次。
三,this语句的使用
例如:
class Person {
private String name;
private int age;
Person() {
}
Person(String name) {
this();
this.name = name;
}
Person(String name, int age) {
this(name);
// this.name = name;
this.age = age;
}
}
需要注意的是:
1.this语句只能定义在构造函数第一行,因为初始化要先执行。
2.避免出现死循环,即:this语句之间互相调用混乱出错。