目录
1.实现多态
子类到父类的转换(向上转型)//语法:
<父类型> <引用变量名>=new <子类型>();
第一种方法:
使用父类作为方法形式参数实现多态
第二种:
使用父类作为方法返回值实现多态
父类到子类的转换(向下转型)//< 子类型 > < 引用变量名 >= (< 子类型 >)< 父类型的引用变量 >;
2.实现多态的三个条件
继承的存在(继承是多态的基础,没有继承就没有多态)。
子类重写父类的方法 (多态下调用子类重写后的方法).
父类引用变量指向子类对象 (向上转型)
```java
public void feeding(Animal animal){ //将父类作为方法的参数
animal.bark();
}
public Animal getAnimal(String type){ //将父类作为方法的返回值类型
Animal animal=null;
switch (type){
case "cat":
animal=new Cat();
break;
case "dog":
animal=new Dog();
break;
}
return animal;
}
```
3.instanceof运算符
语法
对象 instanceof 类或接口
定义
该运算符用来判断一个对象是否属于一个类或实现了一个接口,结果为 true 或 false。
在强制类型转换之前通过 instanceof 运算符检查对象的真实类型,
再进行相应的强制类型转换,
这样就可以避免类型转换异常,从而提高代码的健壮性。
4.多态的优势
可替换性:多态对已存在的代码具有可替换性。
可扩充性:多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,
以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
灵活性:在多态在应用中,体现了灵活多样的操作,提高了使用效率。
简化性:多态简化了应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时
这个特点尤为突出。