[JAVASE] 类和对象 - 多态
多态是面向对象编程中的一个核心概念,它允许你以统一的方式处理不同类型的对象。多态的实现有以下几种方式:
- 方法的重载(Overloading):在同一个类中,允许存在多个同名方法,但它们的参数类型或数量不同。
public class Calculator {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
- 方法的重写(Overriding):在子类中定义与父类相同名称和参数的方法,覆盖父类的方法。
class Animal {
void speak() {
System.out.println("Animal speaks");
}
}
class Dog extends Animal {
@Override
void speak() {
System.out.println("Dog barks");
}
}
- 接口的实现:一个类可以实现一个或多个接口,从而支持不同的行为。
interface Animal {
void speak();
}
class Dog implements Animal {
@Override
public void speak() {
System.out.println("Dog barks");
}
}
class Cat implements Animal {
@Override
public void speak() {
System.out.println("Cat meows");
}
}
- 抽象类和抽象方法:抽象类中可以有抽象方法,它们没有实现体,并且不能被直接实例化。
abstract class Animal {
abstract void speak();
}
class Dog extends Animal {
@Override
void speak() {
System.out.println("Dog barks");
}
}
多态的使用:
public class PolymorphismDemo {
public static void main(String[] args) {
Animal[] animals = {new Dog(), new Cat()};
for (Animal animal : animals) {
animal.speak();
}
}
}
以上代码展示了多态的不同实现方式,以及如何在实际应用中使用多态来简化代码和增强灵活性。
评论已关闭