5.初始化与清理

5.1用构造器确保初始化

不接受任何参数的构造器叫做默认构造器。

public class Hello {
public Hello(){
System.out.println("Hello 初始化");
}
}
public class SimpleConstructor {
public static void main(String[] args) {
for(int i = 0; i<10 ; i++) {
new Hello();
}
}
}
有了构造器形式参数,就可以在初始化对象时提供实际参数。
Tree tree = new Tree(12);
如果Tree(int)是Tree类中唯一的构造器,那么编译器将不会允许你以其他任何方式创建Tree对象。
从概念上讲,初始化与创建是彼此独立的,然而在上面的代码中,你却找不到initialize()方法的明确调用。
在Java中初始化与创建捆绑在一起,两者不能分离。
构造器是一种特殊类型的方法,因为它没有返回值,没有返回值和返回值为空明显不同。
对于空返回值,尽管方法不会自动返回什么,但任然可以选择让它返回别的东西。
构造器则不会返回任何东西,你别无选择(new 表达式确实返回了新建对象的引用,但构造器确没有任何返回值)
练习1.创建一个类,它包含一个没有初始化的String引用。验证该引用被java初始化为null
练习2.创建一个类,它包含了一个在定义时就被初始化了的String域,以及另一个通过构造器初始化的域,这两种方式有何区别?

猜你喜欢

转载自www.cnblogs.com/chenhonggao/p/9025474.html
今日推荐