`

null 访问

 
阅读更多
public class Test {
  static String str = "hello";

  Test getMytest() {
    return null;
  }

  public static void main(String[] args) {
    System.out.println(new Test().getMytest().str);
  }
}



我是这么理解的。
null 是一个对象的实例才有的东西,你从来不会有某个类是null,肯定是某个对象是null
而静态方式是不依赖于对象的实例的,换句话说,只要知道属于哪个类,就能访问类的静态方法
所以,虽然get方法返回了null,但其类型依然是Test , 系统不需要根据null,也不需要访问null的任何东西,只需要知道null是Test 类型的就可以直接访问了。

所以,不会出空指针问题。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics