Java多态性
Java中的多态性(Polymorphism)是指在运行时,可以使用父类类型来引用子类的对象。实现多态性的关键是通过继承和重写(Override)。
在Java中,子类可以继承父类的属性和方法,并且子类可以重写父类的方法。重写是指在子类中重新定义和实现与父类相同名称、相同参数列表和相同返回类型的方法。
通过多态性,可以使用父类类型的变量来引用不同子类对象的实例,从而实现动态绑定,即在运行时确定调用哪个方法。
示例代码如下:
class Animal {
public void makeSound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
public void makeSound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
public void makeSound() {
System.out.println("Cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound();
animal2.makeSound();
}
}
输出结果为:
Dog barks
Cat meows
在上述示例中,Animal类是父类,Dog和Cat是子类。animal1和animal2变量都是Animal类型的变量,但是分别引用了Dog和Cat的实例。调用animal1和animal2的makeSound()方法时,实际执行的是Dog和Cat中重写的makeSound()方法。
总结起来,多态性提供了一种灵活和可扩展的编程方式,通过将对象的引用类型定义为父类类型,可以更方便地写出通用的代码,提高代码的可复用性和可维护性。