java的类加载顺序和创建对象时的调用顺序

版权声明:欢迎转载评论~哈哈哈哈请标明出处呀 https://blog.csdn.net/legendaryhaha/article/details/83690916

java的类加载顺序和创建对象时的调用顺序

类的加载顺序

有父子关系的类在加载时
先调用父类静态初始化块,静态属性,但不包括静态方法,然后再是,子类静态初始化块,静态属性,但同样不包括静态方法 。

创建对象的过程

先是父类非静态初始化块,非静态属性 ,再是父类构造函数,然后是子类非静态初始化块,非静态属性 ,最后是子类构造函数
在这里插入图片描述
运行结果
在这里插入图片描述

注意

(1)子类在继承父类后,若重写了父类的方法,那么父类中这个方法会被隐藏,但是可以通过在构造方法中用super显示调用。
(2)父类的静态方法是不能被继承的
(3)如果父类没有写出默认的无参构造方法但有写出有参的构造方法,那么在子类的构造方法中不需显示调用,不然会报错。
在这里插入图片描述

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/legendaryhaha/article/details/83690916
今日推荐