某类定义:public class Test { protected static String format(Object obj) { return obj.getClass().getSimpleName(); } public static void main(String[] args) { System.out.println(format("Hello")); } } 输出结果是什么?
答案解析
核心考点:静态方法绑定与对象运行时类型。
解题思路分析:
1. 静态方法在编译时根据引用类型绑定
2. obj参数编译类型为Object,但实际运行时类型为String
3. getClass()返回运行时类型
选项分析:
A. 正确:obj实际为String实例
B. 错误:混淆编译时类型与运行时类型
C. 错误:误以为format方法所属类会影响结果
D. 错误:语法无问题
易错点:未注意静态方法中obj的实际类型。正确答案A,本题valid为true。
正确答案:A