1.多态是什么
多态,就是多种形态。如果有一个父类是动物,其中有个方法是叫;狗这个子类继承了父类,并且重写了父类的“叫”这个方法,具体表现为“狗吠”。这个时候,如果new Animal(),new Dog()创建一个动物的对象和狗的对象,然后用一个Animal a 的引用指向这两个对象,此时a.叫调用“叫”这个方法时,会执行不同的方法,表现出多种形态,这就是多态性。
2.向上转型
子类可以看作是特殊的父类,所以父类类型的引用变量可以指向(引用)子类的对象,这叫做向上转型(upcasting);
3.方法声明的形参变量如果是父类类型,可以使用子类的对象作为实参调用该方法
public void method(Person p){
}
Student m = new Student();
t.method(m);
4.只有方法有多态性,变量没有多态性
5.向下转型
向下转型发生,必须要先发生向上转型,也就是想要让父类的引用转换为一个子类的引用,这个父类的引用必须先得指向一个子类的对象;
Person p = new child();
child c = (child) p;
如果直接进行向下转型,是不行的。
例如:Person p = new Person();
child c = (child) p;
这样是不可以的。
一个写的非常好的博客
https://blog.csdn.net/qq_19782019/article/details/79788326?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
对于Java中多态的总结
最新推荐文章于 2024-10-16 18:20:22 发布