对于Java中多态的总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值