题目
方法的重载和重写是一样的。()A. 对B. 错
方法的重载和重写是一样的。()
A. 对
B. 错
题目解答
答案
B. 错
解析
方法重载和方法重写是面向对象编程中的两个重要概念,但它们的核心区别在于应用场景和实现方式:
- 方法重载:发生在同一类中,要求方法名相同但参数列表不同(类型、数量或顺序不同),通过编译时多态性实现。
- 方法重写:发生在子类与父类之间,要求方法名、参数列表和返回类型完全相同,通过运行时多态性实现。
关键点:重载关注参数差异,重写强调继承关系和方法行为替换。
题目判断:方法的重载和重写是否相同?
-
概念对比:
- 重载:同一类中多个方法共享名称,但参数不同。例如:
void draw(int x) { ... } void draw(String s) { ... } - 重写:子类覆盖父类的方法,参数和返回类型必须一致。例如:
class Animal { void eat() { ... } } class Dog extends Animal { void eat() { ... } }
- 重载:同一类中多个方法共享名称,但参数不同。例如:
-
核心区别:
- 参数列表:重载要求参数不同,重写要求参数相同。
- 继承关系:重写必须在继承关系中发生,重载无需继承。
结论:两者机制和用途不同,题目说法错误。