多态指的是同一个方法或对象在不同场景下可以表现出不同的行为。在java中,多态主要通过方法重载(Overloading)和方法重写(Overriding)实现。
- 方法重载: 同一个类中可以有多个同名方法,但这些方法的参数列表不同。
- 方法重写: 子类可以重写父类的方法,以提供特定的实现。
- 接口多态: 对象可以通过父类或接口的引用指向子类的实例,调用方法时会根据实际对象类型执行对应的方法。
// 方法重载
public class MathOperation {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
// 方法重写
public class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
// 接口多态
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // Animal类的引用指向Dog实例
myAnimal.sound(); // 输出: Dog barks
}
}
在这个例子中, Dog类重写了 Animal 类的 sound()方法。当 myAnimal 引用指向 Dog 实例时,调用的 sound()方法是 Dog 类中的实现。
评论1
1111
😃😉😋