码迷,mamicode.com
首页 > 编程语言 > 详细

面试趣闻之java 代码块 静态代码块 构造方法 执行顺序

时间:2017-05-22 11:58:53      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:优先   构造器   ring   代码块   类构造   str   执行   end   顺序   

初级程序员总会遇到这样的问题,代码块 静态代码块 构造方法 执行顺序

父类

public class ClassSup {
public ClassSup(){
System.out.println("父类构造器");
}
static {
System.out.println("父类静态代码块");
}
{
System.out.println("父类代码块");
}
public void mathod01(){
System.out.println("父类方法");
}
}

子类

public class ClassSon extends ClassSup{
public ClassSon(){
System.out.println("子构造器");
}
static{
System.out.println("子静态代码块");
}
{
System.out.println("代码块");
}
@Override
public void mathod01() {
System.out.println("子类方法");
}
}

public static void main(String[] args) {
ClassSon cs = new ClassSon();

}

 

执行结果:

父类静态代码块
子静态代码块
父类代码块
父类构造器
代码块
子构造器

总结:静态代码块优先级最好(只执行一次),父类优先于子类加载

   代码块优先于构造方法 也是先执行父类在执行子类

面试趣闻之java 代码块 静态代码块 构造方法 执行顺序

标签:优先   构造器   ring   代码块   类构造   str   执行   end   顺序   

原文地址:http://www.cnblogs.com/wjx123/p/6888521.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!