关于null类

来源:互联网 发布:接入网的用户网络接口 编辑:程序博客网 时间:2024/05/22 00:15

19. 下面程序能正常运行吗()

复制代码
public class NULL {    public static void haha(){        System.out.println("haha");    }    public static void main(String[] args) {        ((NULL)null).haha();    }}
复制代码

答案:能正常运行

解析:输出为haha,因为null值可以强制转换为任何java类类型,(String)null也是合法的。但null强制转换后是无效对象,其返回值还是为null,而static方法的调用是和类名绑定的,不借助对象进行访问所以能正确输出。反过来,没有static修饰就只能用对象进行访问,使用null调用对象肯定会报空指针错了。这里和C++很类似
0 0
原创粉丝点击