关于构造代码块 在每一个构造函数运行之前,构造代码块都对着两个对象进行统一的共性初始化
我的问题是,对象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);
}
}
|