class Fu {
int num=8;
Fu(){
System.out.println("Fu construction run");
show();//第三步 但show方法被子类覆盖 子类show
}
void show(){
System.out.println("Fu num----"+num);
}
/* {
System.out.println("fu construction code");
}*/
}
class Zi extends Fu{
int num=10;//第四步 显示初始化 而默认初始化为 int num=0
Zi(){//第一步 运行构造函数
super();//第二步 运行父类构造函数 如果父类有构造代码块 先执行父类构造代码块
//第四步 显示初始化
//第五步 构造代码块初始化
System.out.println("zi construction run");
}
void show(){//在父类构造函数中运行 此时num 没被显示初始化 所以 num=0
System.out.println("Zi num。。。。。。"+num);
}
{//第五步
System.out.println("Zi construction code run");
}
}
class JavaDemo{
public static void main(String[] args) {
new Zi();
}
}
/*
此代码运行 结果
Fu construction run
construction code run
zi construction run
Zi num。。。。。。10*/
java new子类对象过程
最新推荐文章于 2023-07-11 12:05:52 发布