为什么Java要求重写clone()方法必须实现Cloneable接口,否则运行时才报错,而不是编译时报错?这样的设计合理吗?
考察说明
考察Java语言设计哲学、Cloneable标记接口机制及运行时检查的合理性
回答思路
- 解释Cloneable是标记接口,不声明clone方法,Object.clone()根据类型判断
- 说明为何用运行时检查而非编译期检查
- 能从历史演进或API设计角度评价其合理性
- 能提出改进或替代方案如防御性拷贝、拷贝构造函数等
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。