Copy自OneNote笔记,未整理排版
多态
多态表示不同的对象调用一个方法时可能有不同的状态。
比如说“人”这个类,学生和教师他们都继承自“人”这个类,这个类有一个“休息”方法
但是他们在调用“休息”这个方法的时候可能是多种状态,比如学生累了可能在去游戏,大人累了可能去睡觉。
多态的要点

代码
public class test{
public static void main(String args[]){
Dog dog = new Dog();
Test(dog);
Animal cat = new Cat(); //父类引用指向子类对象
cat.eat(); //最后输出 猫吃鱼
}
//狗类新构造的对象dog作为参数传递过来,使Animal类型的引用指向它
static void Test(Animal animal){
//调用eat方法
animal.eat(); //输出的是狗吃骨头
}
}
class Animal{
public void eat(){
System.out.println("吃饭");
}
}
class Dog extends Animal{
@Override
public void eat(){
System.out.println("狗吃骨头");
}
}
class Cat extends Animal{
@Override
public void eat(){
System.out.println("猫吃鱼");
}
}
对象转型
Animal cat = new Cat(); 这个语句实际上完成了自动转型,把Cat类型的对象cat转成了Animal类型。当然也可以向下转型:Cat cat2 = (Cat) cat; 这个是强制类型转换