构造器:
1、类中的一个特殊方法,不可以使用: static, final, abstract关键字
2、命名与类名相同,无返回值。
作用:初始化类的数据
总结:
1、实质上,构造器是有返回值的,它的返回值是该对象的引用。(Person p = new Person())
2、构造器不需要显示的创建,若没有,则编译器会自动创建一个无参的构造器(里面什么也没有);假如你显式的添加了一个构造器, 那编译器就不会为你创建构造器。所以类中一定有构造器
初始化块:
定义在类中的代码块,初始化块个数: 0 ---> N (任意多个),一个初始化块中可以有多个初始化块
作用:初始化
ps:静态初始化块(只能用来初始化“静态”的成员变量)
比较:
1、编译时,初始化块一定会被编译,无论调用哪一个构造器
2、初始化块的执行在构造器之前。
3、构造器可以入参
4、构造器是更为灵活, 可以在 new 时候选定你想要的构造器
附: