1.什么是多态?
官方版:同一个方法,根据发送对象的不同,从而产生出不同的运行方式的行为称为多态!
通俗版:多态就是事务的多样性,也可以理解为一种类别的多个形态!不同的形态可以产生不同的效果!
2.满足多态的必要条件有哪些?
(1). 要有继承关系
(2). 要有重写行为
(3). 要有父类变量指向子类对象的过程
3.什么是上转型?什么是下转型?
上转型和下转型就是用来描述父子类变量之间的相互转换的代码!
上转型:将子类对象转换为父类变量!(我以父亲的名义在工作!)
Father f = new Son();
f:是儿子伪装之后的父亲!
下转型:将父类变量强制转换为子类变量(重新做回儿子!)
Son s = (Son) f;
s:f脱掉伪装后做回原本的儿子!
4.什么是instanceof关键字?
我们在进行下转型时,不能对类型进行随意的转换!
换言之:只有变量的本质是子类对象,才可以下转型为子类变量,
例如:只有Animal a指代Tiger对象,才能将a强转为Tiger类型,一旦Animal a指代Snake对象,强转为Tiger就会出现类型转换错误!这个时候我们需要借助instanceof关键字判断这个变量到底属于哪个类的对象。
语法结构:变量 instanceof 类名