java_219_JVM核心机制_类加载全过程_初始化时机_类的主动引用和被动引用_静态初始化块执行顺序问题_练习1

package java_219_JVM核心机制_类加载全过程_初始化时机_类的主动引用和被动引用_静态初始化块执行顺序问题_练习;

public class Demo01 {
//如果添加静态方法 先加载链接然后初始化后;才能往下执行
static {
System.out.println(“静态初始化类A”);
}
public static void main(String[] args) {
System.out.println(“Demo01的main方法”);
System.out.println("(先执行Demo01的main方法,然后在调用A方法)");
A a = new A();//2.调用这个方法
System.out.println(A.width);//4.打印这个
A a2 = new A();//类加载的初始化只有一次;不需要反复加载
}
}
/*

  • 测试
    */
    class A extends A_Father{ //继承父类

    //创建一个变量 static属性;1.(a)先执行类加载
    public static int width = 100;//width 宽度;即静态变量,静态域(field)
    //定义一个初始化块;1.(b)先执行类加载;进行静态初始化
    static {
    System.out.println(“静态初始化类A”);
    width = 300;//最后打印出300;是因为程序从上往下合并执行
    }
    public A(){//3.在执行这个构造器对象;
    System.out.println(“创建A类的对象”);
    }
    }
    /**

  • 测试调用的顺序;类的加载过程;初始化时机

  • @author Administrator

*/
class A_Father{ //Father父类;Father的父类是Object;同理调用也是先调用Object的静态方法;先初始化Object的静态方法
//定义一个初始化块;
static {
System.out.println("=先执行父类");
System.out.println(“静态初始化类A_Father”);
}

}
//结果-------------------------------------------
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值