[java]java初始化顺序的代码解释,
分享于 点击 34485 次 点评:1
[java]java初始化顺序的代码解释,
1.基类(生物)
public class Biology {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Biology() {
System.out.println("Biology constructor.name=" + this.name);
}
{
name = "class-Biology";
System.out.println("Biology field.name=" + name);
}
static {
System.out.println("Biology static");
}
}
2.子类(动物)
public class Animal extends Biology {
public Animal() {
System.out.println("Animal constructor.name=" + this.name);
}
{
name = "class-Animal";
System.out.println("Animal field.name=" + name);
}
static {
System.out.println("Animal static");
}
}
3.子类(狗)
public class Dog extends Animal {
public Dog() {
System.out.println("Dog constructor.name=" + this.name + ",type=" + this.type);
}
private String type = "poodle";
{
name = "class-Dog";
System.out.println("Dog field.name=" + name);
System.out.println("Dog field.type=" + type);
}
static {
System.out.println("Dog static");
}
}
4.测试
public static void main(String[] args) {
Dog ee = new Dog();
System.out.println(ee.getName());
}
打印结果:
Biology static
Animal static
Dog static
Biology field.name=class-Biology
Biology constructor.name=class-Biology
Animal field.name=class-Animal
Animal constructor.name=class-Animal
Dog field.name=class-Dog
Dog field.type=poodle
Dog constructor.name=class-Dog,type=poodle
class-Dog
相关文章
- 暂无相关文章
用户点评