/*
1.多态的体现
父类(类型的)引用指向自己的子类(类型的)对象。
父类的引用接收了自己的子类对象。
2.多态的前提
类与类之间要有关系,继承或实现。
通常存在覆盖
3.多态的好处
提高代码的复用性。
4.多态的弊端
提高的程序的扩展性,但是只能使用父类的引用访问父类中的成员。
5.多态的应用
*/
abstract class Animal
{
abstract public void eat();
}
class Cat extends Animal
{
public void eat()
{
System.out.println("Eat fish.");
}
public void catchMouse()
{
System.out.println("Catch mouse.");
}
}
class Dog extends Animal
{
public void eat()
{
System.out.println("Eat bone.");
}
public void guard()
{
System.out.println("Dog guard.");
}
}
class PolymorphismDemo1
{
public static void main(String[] args)
{
//Animal a = new Dog(); //类型提升,向上转型
function(new Cat());
function(new Dog());
}
public static void function(Animal a)
{
a.eat();
if(a instanceof Cat)
{
Cat c = (Cat) a;
c.catchMouse();
}
else if(a instanceof Dog)
{
Dog d = (Dog) a;
d.guard();
}
}
}
JAVA学习之多态(一)
最新推荐文章于 2024-04-23 15:24:49 发布