java的null类型强转

java中的null值是可以强制转换为任何java类型的,就像(String)null是合法的,但null强转后的是无效对象,其返回值还是为null,但是例如下面这种情况

public class NULL {

    public static void main(String[] args) {
        ((NULL)null).haha();
    }

    public static void haha(){
        System.out.println("haha");
    }
}

输出为

haha

原因是static方法的调用是和类名绑定的,不借助对象进行访问,所以能够正确输出,如果没有加上static修饰,就会报空指针的错误了

posted @ 2017-03-20 17:08  众里寻他壹贰度  阅读(4574)  评论(0编辑  收藏  举报