黑马程序员技术交流社区
标题:
面向对象 :继承
[打印本页]
作者:
shenzhinishimen
时间:
2016-6-8 21:17
标题:
面向对象 :继承
import org.omg.Messaging.SyncScopeHelper;
public class Demo5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//分析:
//分析 输出结果
//调用子类之前会先调用父类的静态方法 静态代码块Fu
//调用自身的静态方法 静态代码块Zi
//在然后调用自身的构造方法, 调用子类构造方法之前有super();调用父类的构造方法,
//因为java中是分层初始化的,先初始化父类,再初始化子类,所以先走的父类构造,但是在执行
//父类构造时,发现父类有构造代码块,构造代码块是优先于构造方法执行的所以输出
//构造代码块Fu
//输出父类的构造方法 //构造方法Fu
//输出子类的构造代码块 //构造代码块Zi
//输出子类的构造方法 //构造方法Zi
Zi zi = new Zi();
}
}
class Fu {
//静态代码块只执行一次
static {
System.out.println("静态代码块Fu");
}
//构造代码块优先于构造方法执行
{
System.out.println("构造代码块Fu");
}
//构造方法
public Fu() {
System.out.println("构造方法Fu");
}
}
class Zi extends Fu {
static {
System.out.println("静态代码块Zi");
}
{
System.out.println("构造代码块Zi");
}
public Zi() {
//super(); //构造方法运行子类的构造方法之前要先走父类的构造方法
System.out.println("构造方法Zi");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2