A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ZACK.FAIR 初级黑马   /  2019-5-9 13:44  /  698 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
public class ReflectDemo
{        static Random rand=new Random();
        public static void main(String... args){
                        //Class clazz=Info.class;//不会初始化类
                        /*
                        ClassLoader 在加载类是 分三步
                        1 加载
                        2 链接
                        3 初始化
                        */
                        //System.out.println(Info.NUM);//类不会被初始化  读取编译时期常量时 不初始化
                        //System.out.println(Info.NUM1);//这句会初始化类 因为在编译时期值还未被确定
                        //System.out.println(Info.NUM2);//会初始化  NUM2不是编译时期常量
        }
}


class Info{
        static final int NUM =9;
        static int NUM2=8;
        static final int NUM1=ReflectDemo.rand.nextInt(100);
        static {
        System.out.println("info类被初始化了");
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马