| 关于构造代码块  在每一个构造函数运行之前,构造代码块都对着两个对象进行统一的共性初始化 
 我的问题是,对象p2被new出的时候,是先将属性赋值成构造代码块中再到构造函数赋值,还是直接构造函数赋值
 
 class Test
 {
 public static void main(String[] args)
 {
 Person p1 = new Person();//调用控参数构造函数进行初始化
 Person p2 = new Person("sssssss", 55);//调用非参数构造函数进行初始化
 
 /*
 两个Person对象,分别指定用不同的构造函数进行初始化。个性的初始化
 但是,在每一个构造函数运行之前,构造代码块都对着两个对象进行统一的共性初始化
 */
 }
 }
 
 class Person
 {
 
 private String name;
 private int age;
 //构造代码块
 {
 name = "zhangsan";
 age = 18;
 System.out.println("Person code run...");
 }
 //空参数构造函数
 Person()
 {
 System.out.println("name="+name+"age="+age);
 }
 //非参数构造函数
 Person(String name, int age)
 {
 this.name = name;
 this.age = age;
 System.out.println("name="+name+"age="+age);
 }
 }
 
 
 |