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 类型的就可以直接访问了。
所以,不会出空指针问题。