[java] 深入理解内部类: inner-classes(四)
e;
{
System.out.println("初始化块 in class Person");
}
public Person() {
this.name = null;
}
public Person(String name) {
setName(name);
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Demo {
public static void main(String[] args) {
Person p1 = new Person("xiao ming");
System.out.println("直接初始化: " + p1.getName());
System.out.println();
Person p2 = new Person() {
// 初始化块
{
System.out.println("初始化块 in 匿名类");
setName("xiao ming");
}
};
System.out.println("双括号初始化: " + p2.getName());
}
}
复制代码
其结果为:
初始化块 in class Person
直接初始化: xiao ming
初始化块 in class Person
初始化块 in 匿名类
双括号初始化: xiao ming