什么是多态
一般说道多态,也离不开封装与继承。按我的理解,Java中的封装,就是把一些属性与方法打包成一个类,用来描述一个对象的状态与动作。Java中的继承,则是通过继承一个通用类来得到一个一个更具体的类。两者都是能帮助我们更好地进行建模的代码格式。
理解多态的概念也离不开封装与继承。多态的字面意思就是多种形式、多种形态。例如,几何图形可以是圆、三角形、矩形或任意不规则的图形。为了将这种抽象的关系体现在Java上,我们可以先定义一个几何图形的通用类,再通过继承得到圆、三角形这些子类。在使用过程中,不必先定义某一个子类引用,在把一个子类实例传递给它,因为每个子类的实例都是父类的特殊化,因此总是可以将子类的实例传给需要父类型的参数,大大提升了编程的灵活性。
背景知识:封装、继承与方法重写
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
@Override
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
@Override
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
知识点详述:多态的应用及类型转换
下面用父类型引用来指向子类型实例