java 静态类 空指针_Java 空引用访问静态不会发生空指针异常

public class StaitcTest02{

public static void main(String[] args){

Chinese c1 = new Chinese("11111111","zhang","中国");

System.out.println(c1.idCard);

System.out.println(c1.name);

System.out.println(c1.country);

c1 = null; //当c1为空引用,不会出现空指针异常,因为静态变量不需要对象的存在,

System.out.println(c1.country); //中国

System.out.println(c1.idCard); //NullPointerException

}

}

class Chinese{

String idCard;

String name;

static String country;

public Chinese(){

}

public Chinese(String s1, String s2, String s3){

idCard = s1;

name = s2;

country = s3;

}

}

结论:

空引用访问静态不是空指针异常

当c1为空引用,不会出现空指针异常,因为静态变量不需要对象的存在,

System.out.println(c1.country),当代码在运行时,还是执行的是System.out.println(Chinese.country);

空指针异常的发生条件:

当”空引用“访问“实例”相关的,会发生空指针异常;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值