首页 > 编程语言 > 详细

Java实例化对象时的初始化

时间:2020-06-26 13:48:39      阅读:67      评论:0      收藏:0      [点我收藏+]

在实例化对象时会对对象所在的所有成员变量进行初始化

实例化化对象:类名() 对象名 = new 类名();

这时会调用(顺序如下)

1.父类的非静态代码块

{

......//用花括号包围的内容是非静态代码块

}

2.父类的构造函数

Public 父类名(){

.......//这里是父类的构造函数

}

3.子类的非静态代码块

4.子类的构造函数

会依次调用这几个方法

在这里还会有静态代码块:

Static{

......//这里面的内容就是静态代码块

}

因为静态代码是会先于main方法加载的

所以如果存在静态代码

就会在原先的顺序上最前面加上

1.父类静态代码块

2.静态代码块子类

class Father{
    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();

}

}

 

输出结果:

父类静态代码块

子类静态代码块

main方法

父类非静态代码块

父类构造函数

子类非静态代码块

子类构造函数

Java实例化对象时的初始化

原文:https://www.cnblogs.com/wxgShareBlog/p/13194681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!