package com.bingo.frame.oop.cls;
/**
* 何时出发类加载?
* 1. 构建对象
* 2. 访问类的静态方法
* 3. 访问静态属性
* a) static修饰的任意属性都会触发类加载
* b) static final 修饰的 [8大基本类型+String],不触发类加载
* @author bingo
*
*/
//-XX:+TraceClassLoading, 先运行一次再配置参数
public class TestClassLoader05 {
public static void main(String[] args) {
new AA();//构建对象
BB.testBB();//静态方法
System.out.println(CC.a);//static属性
System.out.println(DD.bingo);//static属性
System.out.println(EE.a);//static属性
System.out.println(FF.a);//static final 8种基本类型
System.out.println(GG.bingo);//static final String
System.out.println(HH.a);//static final 其他
}
}
class AA{
}
class BB{
static void testBB() {
System.out.println("testBB is running...");
}
}
class CC{
static int a = 100;
}
class DD{
static String bingo = "handsome";
}
class EE{
static Integer a = 100;
}
class FF{
static final int a = 100;
}
class GG{
static final String bingo = "handsome";
}
class HH{
static final Integer a = 100;
}
何时出发类加载(隐式加载)
最新推荐文章于 2024-05-08 12:06:18 发布