5.7多态:

   多态的注意:继承可以构成多态,还有实现接口时可以构成多态
     所谓多态,就是指一个引用(类型)在不同情况下的多种状态,
    也可以这样理解: 多态是指通过指向父类的指针,来调用在不同子类中实现的方法。
    Java引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,  如果编译时类型和运行时类型不一致,就会出现所谓的多态(Polymorphism).
/**
 *  功能:演示多态
 *
 */
public class Demo5 {
public static void main(String[] args){
//多态
 Animal an = new Cat();   //an 引用 在 赋值等于号 自动判断 引用什么
 an.cry();
 an = new Dog();
 an.cry();
}
}
//动物类Animal
class Animal{
String name;
int age;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
  public int SetAge(){
return age;
}
  public void setAge(int age){
  this.age = age;
  }
 
 
  //动物会叫
  public void cry(){
  System.out.println("不知道怎么叫");
  }
 
}
class Dog extends Animal{
//狗叫
public void cry(){
System.out.println("汪汪叫");
}
}
class Cat extends Animal{
//猫自己叫
public void cry(){
System.out.println("猫猫叫");
}
}
 输出结果:
猫猫叫
汪汪叫

大家深入理解的话看下面这个图

你可能感兴趣的:(5.7多态:)