构造代码块格式:
{ }
构造代码块作用:
给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。可被执行多次。
构造代码块和构造函数的区别:
构造代码块是给所有对象进行统一的初始化。
而构造函数是给对应的对象进行初始化。
注意:构造代码块定义的是不同对象共性的初始化内容。
public class Demo19 { /* * 对象一建立,就会调用与之对应的构造函数 */ public static void main(String[] args) { Person1 p=new Person1(); Person1 p1=new Person1("WGS"); Person1 p2=new Person1("WGS",22); } } class Person1{ private String name; private int age; //构造代码块 { System.out.println("name="+name+" "+"age="+age); } //构造函数 Person1() { System.out.println("A: name="+name+" "+"age="+age); } Person1(String n){ name=n; System.out.println("B: name="+name+" "+"age="+age); } Person1(String n,int a){ name=n; age=a; System.out.println("C: name="+name+" "+"age="+age); } }
执行结果:
name=null age=0 A: name=null age=0 name=null age=0 B: name=WGS age=0 name=null age=0 C: name=WGS age=22