您的位置:首页 > 编程语言 > Java开发

Java类的初始化顺序

2016-07-15 15:14 525 查看
代码:

public class Base
{
private String baseName = "base";
public Base()
{
callName();
}
public void callName()
{
System.out.println(baseName);
}

static class Sub extends Base
{
//private static String baseName = "sub";
private String baseName = "sub";
public void callName()
{
System.out.println(baseName);
}
}

public static void main(String[] args)
{
Base b = new Sub();
}
}


输出:

null


如果将代码第16行替换为第15行,则输出为

Sub


Java类的初始化顺序:

父类--静态变量

父类--静态初始化块

子类--静态变量

子类--静态初始化块

子类main方法

父类--变量

父类--初始化块

父类--构造器

子类--变量

子类--初始化块

子类--构造器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: