初始化块:给对象进行初始化,对象一建立就运行,而且优先于构造函数执行
和构造函数的区别:初始化块是给所有对象进行统一初始化
构造函数是给对应的对象初始化
举例代码:- public class Test2_2 {
- /**
- * 初始化块
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Person p1=new Person();
- Person p2=new Person("黑马");
- }
- }
- class Person{
-
- Person(){ //无参构造函数
- System.out.println("我给所有无参的对象初始化");
- }
- Person(String name){ //有参构造函数
- System.out.println("我给所有有参的对象初始化");
- }
- //初始化块
- {
- System.out.println("我给所有对象初始化");
- }
- }
复制代码 输出结果:- 我给所有对象初始化
- 我给所有无参的对象初始化
- 我给所有对象初始化
- 我给所有有参的对象初始化
复制代码
|
|