其他分享
首页 > 其他分享> > 2022.4.20 什么时候发生类的初始化

2022.4.20 什么时候发生类的初始化

作者:互联网

什么时候会发生类初始化?

 package com.xing.reflection;
 ​
 //测试类什么时候初始化
 public class Test05 {
     //当虚拟机启动,先初始化main方法所在的类
     static {
         System.out.println("Main类");
    }
 ​
     public static void main(String[] args) throws ClassNotFoundException {
         //1.主动引用
         Son son = new Son();/*Main类
                               父类
                               子类*/
 ​
        //反射也会产生主动引用   这种方式需要在方法上抛出异常
        Class.forName("com.xing.reflection.Son");/*Main类
                                                   父类
                                                   子类*/
 ​
         //不会产生类的引用的方法 1.子类引用父类的静态变量
         System.out.println("Son.b");/*Main类
                                       父类
                                       2*/
 ​
         //2.数组   对象类型数组
         Son[] arr = new Son[5];//Main类
 ​
         //3.常量
         System.out.println(Son.M);/*Main类
                                     1*/
    }
 }
 class Father{
     static int b = 2;
     static {
         System.out.println("父类");
    }
 }
 class Son extends Father{
     static {
         System.out.println("子类");
         m=300;
    }
     static int m = 100;
     static final int M = 1;
 }

 

标签:初始化,Main,20,子类,Son,static,2022.4,父类
来源: https://www.cnblogs.com/shanzha/p/16172484.html