针对下列 Java 代码,说法正确的是?

public class TestClass {

    private static void testMethod() {
        System.out.println("testMethod");
    }

    public static void main(String[] args) {
        ((TestClass)null).testMethod();
    }
}
1096 次浏览
  • A、编译通过,运行异常,报lllegalArgumentException
  • B、编译通过,运行异常,报NullPointerException
  • C、运行正常,输出testMethod
  • D、编译通过,运行异常,报NoSuchMethodException
testMethod()是静态方法,不属于任何对象,所以其调用与类是否实例化没有关系。((TestClass)null).testMethod()在调用时编译器检测到该方法为静态方法,相当于TestClass.testMethod(),于是便正常执行。
挑战成功
2年前
挑战失败
2年前
挑战失败
2年前
挑战成功
2年前
挑战失败
2年前
挑战失败
2年前
挑战成功
2年前
挑战失败
2年前
挑战失败
2年前
挑战成功
2年前