淘先锋技术网

首页 1 2 3 4 5 6 7

Java中的重载和重写是面向对象编程中常见的两种方法,它们可以帮助程序员简化代码,并提高程序的灵活性和可扩展性。

重载(Overloading)是指一个类中有多个方法,它们的方法名相同但方法签名或参数列表不同。例如:

public class Example {
public int sum(int a, int b) {
return a + b;
}
public double sum(double a, double b) {
return a + b;
}
}

上面的例子中,Example类中定义了两个名为sum的方法,一个接受两个int类型的参数,另一个接受两个double类型的参数。在调用方法时,编译器会根据参数类型匹配相应的方法。

重写(Overriding)是指子类重写父类中已经有的方法。例如:

class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal();   // Animal 对象
Animal b = new Dog();   // Dog 对象
a.move();   // 执行 Animal 类的方法
b.move();   // 执行 Dog 类的方法
}
}
输出:
动物可以移动
狗可以跑和走

在上面的例子中,Dog类重写了Animal类中的move方法。在创建Dog类对象时,b变量的类型是Animal,但它引用了一个Dog类的对象,因此运行时将执行Dog类中的move方法。