静态区域 代码块 构造函数

public class Test
{
    public static Test t1 = new Test();//静态区域 从上到下
    //父类先执行这句,又实例化了一个对象 先--> 构造代码快 --> 再执行构造函数
    //这一句输出了  blockA--> c -->
    //按照顺序执行最下方的静态代码块  输出了 blockB--->父类的静态区域加载完毕-->转去子类的静态区

    {
         System.out.println("blockA");
    }

    public Test() {
        System.out.println("c");
    }

    static
    {
        System.out.println("blockB");
    }

 }

子类…………

public class TesT2 extends Test{

    public static int  x=3; 
    //子类的静态区(从上到下)先执行--> x=3 -->再去执行静态代码快 输出 静态代码块:3
    static { 
        System.out.println("静态代码块:"+x);
    }
    //子类的静态区域执行完毕  实例化一个子类的对象,由于子类的空参构造 或是有参构造的方法体里面第一条代码 默认隐藏了super();
     //super() 是父类的空参构造,执行空参构造-->执行构造构造代码块  输出-->blockA-->执行构造函数-->输出 -->c
    //先去加载父类的构造代码块 输出-->blockA-->父类的空参构造方法
    //然后是子类的构造代码块--输出-->构造代码块-->然后再是空参构造方法
    {
        System.out.println("构造代码块");
    }
    public TesT2() {
        //默认隐藏的super();
        //在用快捷键 生成 构造函数的时候 都是有的
        System.out.println("空参构造函数");
    }
    public static void main( String[] s) {
        TesT2 ts = new TesT2();
    }   
}
执行结果为:
blockA
c
blockB
静态代码块:3
blockA
c
构造代码块
空参构造函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值