七、多态(1.父类引用指向子类对象;2.方法的重写;3.继承)
父类的引用指向子类的对象(向上转型)的作用:良好的可扩展行(在给我们的软件增加一块功能或者删除一块功能的时候,应该不用修改程序的主体代码).
也就是多态,实现代码的复用 (多态)
public class Helloworld1 {
public static void main(String args[]) {
Cat cat = new Cat();
cat.name = "tom";
Dog dog = new Dog();
dog.name = "jack";
Person p = new Person();
p.playWithAnimal(dog); //这里如果是dog打印的是jack enjoy,如果是cat打印的是tom enjoy.
}
}
class Animal {
String name;
public void sleep() {
System.out.println(name+" is sleepping");
}
public void enjoy() {
System.out.println(name+" enjoy");
}
}
class Cat extends Animal {
String furColor;
public void enjoy() {
System.out.println(name+" enjoy");
}
}
class Dog extends Animal {
String furColor;
public void enjoy() {
System.out.println(name+" enjoy");
}
}
class Person {
String name;
public void playWithAnimal (Animal a) { //Animal a就是父类的引用指向子类的对象,因为上面传的值是cat或者dog.
a.enjoy();
}
}
浙公网安备 33010602011771号