Java实例化对象时的初始化
2021-05-04 19:28
标签:test 类的构造函数 初始化 public 静态 存在 结果 类构造 lib 在实例化对象时会对对象所在的所有成员变量进行初始化 实例化化对象:类名() 对象名 = new 类名(); 这时会调用(顺序如下) 1.父类的非静态代码块 { ......//用花括号包围的内容是非静态代码块 } 2.父类的构造函数 Public 父类名(){ .......//这里是父类的构造函数 } 3.子类的非静态代码块 4.子类的构造函数 会依次调用这几个方法 在这里还会有静态代码块: Static{ ......//这里面的内容就是静态代码块 } 因为静态代码是会先于main方法加载的 所以如果存在静态代码 就会在原先的顺序上最前面加上 1.父类静态代码块 2.静态代码块子类 class Father{ // } } 输出结果: 父类静态代码块 子类静态代码块 main方法 父类非静态代码块 父类构造函数 子类非静态代码块 子类构造函数 Java实例化对象时的初始化 标签:test 类的构造函数 初始化 public 静态 存在 结果 类构造 lib 原文地址:https://www.cnblogs.com/wxgShareBlog/p/13194681.html
static {
System.out.println("父类静态代码块");
}
{
System.out.println("父类非静态代码块");
}
public Father(){
System.out.println("父类构造函数");
}
}
public class InterfaceTest extends Father{
static {
System.out.println("子类静态代码块");
}
{
System.out.println("子类非静态代码块");
}
public InterfaceTest(){
System.out.println("子类构造函数");
}
public static void main(String[] args) {
System.out.println("main方法");
new InterfaceTest();
下一篇:python执行lua代码