zoukankan      html  css  js  c++  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);

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

  • 相关阅读:
    cogs 908 校园网
    植保___农药基础知识
    底层终端-.c文件之间的调用
    指针复习
    电子工程世界
    电机与维修
    航拍部分
    系统集成与维修
    关于大型架构数据库和web一步一步优化草案
    服务器安装git,如何以秘钥方式提交
  • 原文地址:https://www.cnblogs.com/homle/p/14163278.html
Copyright © 2011-2022 走看看