子类继承父类(父类和子类里:块、静态块、构造和方法覆写)之间调用顺序
2015-08-19 08:29
676 查看
package test01;
class Persion {
public Persion(){
show(); // 第四调用(它会调用子类覆写过的 show() 方法)
}
public void show(){
System.out.println("Persion show");
}
{ // 第三调用
System.out.println("Persion's no static block");
}
static{ // 第一调用
System.out.println("Persion's static block");
}
}
public class Child extends Persion{
public Child(){
show(); // 第六调用(它会调用子类的 show() 方法)
}
public void show(){
System.out.println("Child show");
}
{ // 第五调用
System.out.println("Child's no static block");
}
static{ // 第二调用
System.out.println("Child's static block");
}
public static void main(String[] args){
new Child();
}
}
运行结果
Persion's static block
Child's static block
Persion's no static block
Child show
Child's no static block
Child show
class Persion {
public Persion(){
show(); // 第四调用(它会调用子类覆写过的 show() 方法)
}
public void show(){
System.out.println("Persion show");
}
{ // 第三调用
System.out.println("Persion's no static block");
}
static{ // 第一调用
System.out.println("Persion's static block");
}
}
public class Child extends Persion{
public Child(){
show(); // 第六调用(它会调用子类的 show() 方法)
}
public void show(){
System.out.println("Child show");
}
{ // 第五调用
System.out.println("Child's no static block");
}
static{ // 第二调用
System.out.println("Child's static block");
}
public static void main(String[] args){
new Child();
}
}
运行结果
Persion's static block
Child's static block
Persion's no static block
Child show
Child's no static block
Child show
相关文章推荐
- 单例——iOS学习连载19
- java的队列
- 2015 HUAS Summer Trainning #6~I
- 广佛肇城轨年内通车 佛山西站预计2017年中通车
- 广佛肇城轨年内通车 佛山西站预计2017年中通车
- 消息队列是先进先出
- iOS开发 自定义UICollectionViewLayout实现Masonry Layout
- Spring 的下载、安装和使用
- 高进度乘法FFT优化
- C++:STL标准入门汇总
- 转载:提示行魔术
- POINT结构体
- STL一般总结
- SAP的成本中心与利润中心的关系
- 关于spring @postConstruct失效的问题
- UI中的表视图用法
- 连接linux系统sftp下载文件
- 关于UI的屏幕触控事件示例
- 分享三
- C++语言学习之STL 的组成