面向对象数据模型
方法重载和重写
重要程度:4 分
<div>
<h2>方法重载 (Overloading)</h2>
<p>方法重载是指在同一个类中定义多个同名的方法,但这些方法的参数列表必须不同(参数类型、数量或顺序不同)。</p>
<pre>
class Person {
void printInfo(String name) {
System.out.println("Name: " + name);
}
void printInfo(int age, String name) {
System.out.println("Age: " + age + ", Name: " + name);
}
}
</pre>
<p>在上述例子中,<code>printInfo</code> 方法被重载了两次,一次接受一个字符串参数,另一次接受一个整数和一个字符串参数。</p>
<h2>方法重写 (Overriding)</h2>
<p>方法重写是指子类重新定义父类中的方法,要求方法签名(方法名和参数列表)完全相同,但返回类型可以是相同的或派生类类型的对象。</p>
<pre>
class Animal {
void makeSound() {
System.out.println("Some generic animal sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
</pre>
<p>在上述例子中,<code>Dog</code> 类继承自 <code>Animal</code> 类,并且重写了 <code>makeSound</code> 方法。当通过 <code>Dog</code> 类型的对象调用 <code>makeSound</code> 方法时,将执行 <code>Dog</code> 类中的实现。</p>
</div>