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

java继承关系中的代码执行顺序

2018-09-13 20:20 701 查看
版权声明:卢楷方的个人分享 https://blog.csdn.net/IT_lukaifang/article/details/82694196

在java程序中, 在子类继承父类时, 执行顺序是怎样的呢?

代码实现:

/**
* super  子类通过super调用父类的成员,也可以super()调用父类构造方法   但是也是必须放在第一句
*
*/
public class TestExtends2 {

public static void main(String[] args) {
new Child();

}

}
/**
* 父类静态代码段
* 子类静态代码段
* 父类代码段
* 父类构造方法
* 子类代码段
* 子类构造方法
*
*/
class Parent{
static{
System.out.println("父类静态代码段");
}
{
System.out.println("父类代码段");
}
public Parent(){
System.out.println("====父类构造方法====");
}
}
class Child extends Parent{
private A a = new A();
private static A b = new A();
static{
System.out.println("**子类类静态代码段");
}
{
System.out.println("**子类代码段");
}
public Child(){
super();//调用父类构造方法    必须放在第一句
System.out.println("**====子类类构造方法====");
}

public void test(){

}
}
class A{
public A(){
System.out.println("****A***");
}
}

执行结果:

可见:

* 父类静态代码段
* 子类静态代码段
* 父类代码段
* 父类构造方法
* 子类代码段
* 子类构造方法
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: