什么是多态: 有表现多种形态的能力的特征,
继承是多态的基础,没有继承就没有多态
多态的作用:可以减少类中的代码量,提高代码的可复用性和可维护性
实现多态的两种方式
使用父类作为方法形参实现多态
使用父类作为方法返回值实现多态
向上转型和向下转型
向上:子类转换为父类,自动进行类型转换 父类对象=new 子类();
package 多态;
public class asd {
public static void main(String[] args) {
Pet pet=new Dog();
}
}
向下:父类对象转换为子类类型 子类 对象=(子类)父类对象;
package 多态;
public class asd {
public static void main(String[] args) {
Pet pet=new Pet();
Dog dog=(Dog)pet;
}
}
Instanceof是用来判断一个对象是否属于一个类或实现了一个借口
语法为: 对象 Instanceof 或接口
package 多态;
public class asd {
public static void main(String[] args) {
Pet pet=new Dog();
Dog dog=(Dog)pet;
if (pet instanceof Dog) {
System.out.println("pet是Dog类型的对象");
}
}
}
Instanceof 可以避免出现类型转换异常,一般和强制类型转换结合使用