java面试总结03_代码执行顺序

在面试时候,经常会让做面试题,让写出最后的执行结果。其实最要就是把我一下几点:

一:先父类后子类

二:如果子类和父类中有静态代码之类,先父类执行静态,子类执行静态,然后,父类的构造代码块,构造方法,然后在子类的构造代码块,构造方法!

1、静态代码块(静态区、静态变量等) 
2、构造代码块({ }中间的内容) 
3、构造方法

注意:静态代码块只执行一次,一次,一次,重要事情说三遍!

举个例子:

public class User {

    static {
        System.out.println("父类静态代码块.....");
    }
    {
        System.out.println("父类普通代码块.....");
    }
    public User(){
        System.out.println("父类构造方法.....");
    }
}

public class GirlUser extends User {

    static {
        System.out.println("....子类静态代码块.....");
    }
     {
        System.out.println("....子类普通代码块.....");
    }
    public GirlUser(){
        System.out.println("....子类g构造方法.....");
    }
}

 public static void main(String[] args) {
        System.out.println("****第一次实例化对象***********");
        GirlUser girlUser=new GirlUser();
        System.out.println("*****第二次实例化对象**********");
        GirlUser girlUser2=new GirlUser();
    }

执行结果:

****第一次实例化对象***********
父类静态代码块.....
....子类静态代码块.....
父类普通代码块.....
父类构造方法.....
....子类普通代码块.....
....子类g构造方法.....
*****第二次实例化对象**********
父类普通代码块.....
父类构造方法.....
....子类普通代码块.....
....子类g构造方法.....

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值