Java 多态
多态:对象的多种形态
1.引用多态
父类的引用可以指向本类的对象,也可以指向子类的对象
例:
class Animal{
}
class Dog extends Animal{ //继承是多态的实现基础~
}
class Initial{
public static void main(String[] args){
Animal obj1=new Animal(); //父类的引用可以指向本类的对象
Animal obj2=new Dog(); //父类的引用可以指向子类的对象
}
}
2.方法多态
创建本类对象时,调用的方法为本类的方法
class Animal{
public void eat(){
System.out.println("动物具有吃的能力");
}
}
class Dog extends Animal{ //继承是多态的实现基础~
public void eat(){
System.out.println("狗是吃肉的");
}
public void a(){ //不是从父类继承的,Dog子类独有的方法
System.out.println("狗有看门的能力");
}
}
class Cat extends Animal{
}
class Initial{
public static void main(String[] args){
Animal obj1=new Animal(); //父类的引用可以指向本类的对象
Animal obj2=new Dog(); //父类的引用可以指向子类的对象
Animal obj3=new Cat();
obj1.eat(); //调用父类的方法
obj2.eat(); //调用子类的方法
obj3.eat(); //调用的是子类继承父类的方法
obj2.eat(); //这是错的,不能通过父类的引用调用子类独有的方法
}
}
输出:
动物具有吃的能力
狗是吃肉的
动物具有吃的能力
---恢复内容结束---