1、对象的多种形态
- 引用多态
- 父类的引用可以指向本类的对象
- 父类的引用可以指向子类的对象
- 方法多态
- 创建本类对象时,调用的方法为本类方法
- 创建子类对象时,调用的方法为子类重写的方法或者继承的方法
注意:使用多态时,两个类必须出现继承关系。
2、引用多态代码示例
public class Animal{
}
public class Dog extends Animal{
}
public class Test{
public static void main(String[] args){
Animal animal1 = new Animal();
Animal animal2 = new Dog(); // 父类的引用可以指向子类的对象
// Dog dog = new Animal(); 错,父类可以指向子类,但是,子类不能指向父类
}
}
3、方法多态代码示例
public class Animal{
public void eat(){
System.out.println("动物具有吃的能力");
}
}
public class Dog extends Animal{
public void eat(){
System.out.println("狗是吃肉的");
}
public void watchDoor(){
System.out.println("狗具有看门的能力");
}
}
public class Cat extends Animal{
}
public class Test{
public static void main(String[] args){
Animal animal1 = new Animal();
Animal animal2 = new Dog(); // 父类的引用可以指向子类的对象
Animal animal3 = new Cat();
// Dog dog = new Animal(); 错,父类可以指向子类,但是,子类不能指向父类
animal1.eat();
animal2.eat();
animal3.eat();
// animal2.watchDoor(); 错,不允许调用子类独有的方法
}
}
网友评论