JAVA多态

多态:

多态是:同一个对象体现出来的多种不同形态(身份),将一种行为表现出不同的效果。要想实现多态的效果,首先要有继承关系。

体现:

  1. 父类类型引用指向子类的对象
    Teacher teahcer = new Teacher(); // 这个老师是一个老师
    Person person = new Teacher(); // 这个人是一个老师
  2. 改引用(person)只能调用父类中定义的属性或方法
  3. 如果子类中将父类的方法重写了。那么调取方法后执行的结果是子类重写后的那个。
  4. 如果父类与子类有同名的属性,调用的是父类的属性
  5. 如果父类与子类有同名的方法(一模一样,方法体不同)执行子类重写后的方法。也就是第3点。
    JAVA多态
  6. 若想要调用子类中独有的成员,需要进行强制类型转换(也叫造型、铸型、向上/下转型)
  7. 必须注意的是,在进行向下转型的时候,可能会出现运行时异常:ClassCastException。造型异常 将对象的类型还原时,与真实类型不匹配。必须是严格的父子类关系才能转换。
    JAVA多态
    如果想要避免造型的异常,可以用instanceof关键字类进行判断。写法:对象 instanceof 类
    JAVA多态