有如下代码:
package com.rabbit.data;
public class NullTest {
public static void test() {
System.out.println("test");
}
public static void main(String[] args) {
((NullTest)null).test();
}
}
可以运行,运行结果为:test
原因:在Java中,给任何对象赋值为null都是合法的,null可以被强转为任何类型的对象,上面代码中转换的结果还是null,对null无法调用对象方法,但是属于类的静态方法还是可以调用的。