Java-10 多态

多态


编译时与运行时类型不一直,就会产生多态
前提:需要存在继承或者实现关,要有覆盖操作

子类可以看作是特殊的父类,所以父类类型的引用可以指向子类的对象:向上转型
//把子类的对象可以给父类的类型的变量引用

一个引用类型变量如果申明为父类的类型,但实际引用的是子类对象,那么爱变量就不能再访问子类中添加的方法和属性

属性是在编译时确定的
Person e = new Student();
e.school = “ntu”;//错误
编译时e为Person类型,没有school成员变量,所以错误

方法是在运行时确定的:动态绑定
Person e = new Student();
e.showInfo();//调用的是Student类的方法
java的方法是允许再stack中的,在运行方法时会动态的进栈出栈
当前的情况是Student对象的方法

成员方法:(成员方法的多态性,也就是动态绑定,必须得存在于方法的重写上)
编译时:要查看引用变量所属的类中是否有所调用的方法
运行时:调用实际对象所属的类中的重写方法
成员变量:
不具备多态性,只看引用变量所属的类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值