Java基础语法之多态

面向对象三个特征:封装继承多态
extends继承或者implements实现是多态性的前提(对象的多态性Polymorphism/Multi)。

(一)格式:

  1. 父类名称 对象名 = new 子类名称();//父类引用指向子类对象。
  2. 接口名称 对象名 = new 实现类名称();

多态中成员变量/成员方法访问特点:

  1. 成员变量:编译看左,运行看左。
  2. 成员方法:编译看左,运行看右。

☆☆使用多态的好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会改变。

对象的向上转型
父类引用指向子类对象:父类名称 对象名 = new 子类名称();
把猫当做动物来看;创建一个子类对象,把它当做父类来看待使用。
注意:这个向上转型是肯定可行的,但缺点是无法调用子类所特有的方法,为了解决这一问题,需要对象的向下转型,将父类对象,[还原]成子类对象,就是把原来的动物还原成猫,可以使用猫的特有方法。
对象的向下转型(还原)
格式:子类名称 对象名 = (子类名称)父类对象;

Animal animal = new Cat();//本来是猫,向上转型成了动物。
Cat cat = (Cat)animal;//猫被当做了动物,现在还原成了猫。
注意:必须是对象本来创建的时候就是猫,才能向下转型成猫。如果不是这样的话,编译不会出错,但运行会出错。

instanceof关键字进行类型判断(能不能进行对象的向下转换):
对象名 instanceof 类型 返回boolean值

你可能感兴趣的:(Java基础语法学习笔记,java,多态,基础语法)