目录
- 多态
- 多态的好处
- 实例
- 创建一个Main
多态
-
在Java中,多态是面向对象编程的三大基本特性之一,另外两个是封装和继承。多态是指一个接口可以有多种实现方式,或者一个对象可以表现出多种形态。
-
在Java中,多态主要通过方法重载和重写实现。方法重载是指在同一个类中,方法名相同但参数列表(参数类型、数量、顺序)不同的方法。编译器根据方法参数列表的差异来区分不同的重载方法。方法重写是指在子类中定义一个与父类中方法名、参数列表相同的方法。通过方法重写,子类可以扩展或修改父类方法的实现,从而表现出不同的行为。
多态的好处
- 代码重用:通过重写和继承,子类可以复用父类的代码,减少重复的代码量。
- 扩展性:通过重写和继承,可以添加新的属性和方法来扩展类的功能,而不会破坏现有的代码。
- 更好的组织结构:通过将相关的类组织成层次结构,可以更好地组织和管理代码。
实例
// 定义一个动物类
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
// 定义一个狗类,继承自Animal类
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
// 定义一个猫类,继承自Animal类
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
}
创建一个Main
// 定义一个主程序类
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog(); // 创建Dog对象,类型为Animal引用
Animal animal2 = new Cat(); // 创建Cat对象,类型为Animal引用
Animal animal3 = new Animal(); // 创建Animal对象,类型为Animal引用
animal1.makeSound(); // 调用Dog类的makeSound方法,输出"The dog barks"
animal2.makeSound(); // 调用Cat类的makeSound方法,输出"The cat meows"
animal3.makeSound(); // 调用Animal类的makeSound方法,输出"The animal makes a sound"
}
}