Java 中变量初始化子类和父类构造器调用的顺序
Posted arthurren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中变量初始化子类和父类构造器调用的顺序相关的知识,希望对你有一定的参考价值。
先说结论
变量初始化 -> 父类构造器 -> 子类构造器
贴代码
Animcal.java 父类
public class Animal
{
private static int index = 0;
private static String getStaticName()
{
String name = String.format("animal %d" , index++);
System.out.println(name);
return name;
}
private String name = getStaticName();
public Animal()
{
System.out.println("create animal");
}
}
Cat.java 子类
public class Cat extends Animal
{
public Cat()
{
System.out.println("create cat");
}
}
Main.java
public class Main {
public static void main(String[] args) throws Exception
{
Cat cat = new Cat();
}
}
打印结果
animal 0
create animal
create cat
以上是关于Java 中变量初始化子类和父类构造器调用的顺序的主要内容,如果未能解决你的问题,请参考以下文章