首页 > 代码库 > 面试趣闻之java 代码块 静态代码块 构造方法 执行顺序
面试趣闻之java 代码块 静态代码块 构造方法 执行顺序
初级程序员总会遇到这样的问题,代码块 静态代码块 构造方法 执行顺序
父类
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 代码块 静态代码块 构造方法 执行顺序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。