package com.company.java.oop.cls;
import java.util.HashMap;
类加载时,new对象会加载实例代码块
//访问使用static final一起修饰的八种基本类型以及字符串类型时不会触发类加载
1.2)访问只有static修饰的任意属性时都会触发类加载
访问使用static final一起修饰的八种基本类型以及字符串类型时不会触发类加载
/**
- 案例:考察类变量的初始化顺序(从上到下依次执行) */
*== 案例:外部类被加载时会加载(实例/静态)内部类吗? 不会
案例:(实例/静态)内部类被加载时会加载外部类吗? 不会
class ClassD{
static ClassD instance=new ClassD();
static Map<String,Object> map=new HashMap<>();
public ClassD() {
map.put(“A”, 100);//map这里还未进行初始化,类加载的解析
map.put(“B”, 200);
}
}
public class TestClassObject07 {
public static void main(String[] args) {
//会触发类加载
//类加载阶段:加载,连接(准备,验证,解析),初始化
System.out.println(ClassD.map);//会报空指针
}
}