面向对象特性之多态
————对象的多种形态
一、引用多态
(例中, Animal是父类,Dog是子类)
- 父类的引用可以指向本类的对象;
Animal obj1 = new Animal();用父类的引用创建父类的对象
- 父类的引用可以指向子类的对象。
注:不能使用子类的引用指向父类的对象
Animal obj2 = new Dog();用父类的引用创建子类的对象
Dog obj3 = new Animal(); 是错误的
二、方法多态
(例中,eat()方法为父类Animal的方法,WatchDoor()为子类Dog独有的方法)
- 创建本类对象时,调用的方法为本类的方法;
obj1.eat();
- 创建子类对象时,调用的方法为继承父类的方法或者子类重写的方法.
注:不能通过父类的引用调用子类独有的方法
obj2.eat();调用继承自父类的方法
obj2.watchDooe();不能调用子类独有的方法