null对象调用static方法

先给代码,猜猜结果
public class TestClass {
	private static void staticMethod(){
		System.out.println("static");
	}
	void normalMethod(){
		System.out.println("normal");
	}
	public static void main(String[] args) {
		TestClass testClass=((TestClass)null);
		testClass.staticMethod();
		testClass.normalMethod();
	}
}

我以为一开始就会报NullPointerException
结果 staticMethod()竟然执行了。。。
总结如下:
1.null可以被强转为任何对象
2.null强转为对象后调用该类的静态方法不会出错

mark以备查阅

猜你喜欢

转载自leozam.iteye.com/blog/2388362