类加载初始化顺序(nullpoint异常)

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);//会报空指针
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值