- 多态的定义
例子:比如有动物(Animal)之类别(Class),而且由动物继承出类别鸡(Chicken)和类别狗(Dog),并对同一源自类别动物(父类)之一消息有不同的响应,如类别动物有“叫()”之动作,而类别鸡会“啼叫()”,类别狗则会“吠叫()”,则称之为多态。
2.instanceof关键字
- 用来判断某个对象是否属于某种数据类型,返回类型为布尔类型
Fu f1=new Zi();
Fu f2=new Son();
if(f1 instanceof Zi){
System.out.println("f1是Zi的类型");
}
else{
System.out.println("f1是Son的类型");
}
3.对象的转型
3.1向上转型
(1)向上转型不要强制转型
(2)父类引用指向的或者调用的方法是子类的方法,这个叫动态绑定
(3)向上转型后父类引用不能调用子类自己的方法
3.2向下转型
*向下转型需要先向上转型再向下
4.多态的实现方式
- 重写
- 接口:生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。
- 抽象类和抽象方法