Java的多态与类型转化分析

 

 多态与类型转化原理分析:

  一、多态性:超类引用在运行时既能代表超类本身的对象,也能代表其子类的对象的能力。

  类的一个成员若想表现多态必须可以被覆盖:

  对于成员变量而言,不会发生覆盖现象(会隐藏),在子类出现相同变量的定义时只会隐藏父类变量,因此不会表现多态。同时变量调用在编译时就会解析,不符合动态绑定的特征;

  在成员方法中,静态方法和final方法(private方法)也不会发生覆盖现象(会隐藏),因此也不会表现多态性。

  因此只有除静态方法和final方法以外的方法才会表现多态性。

  二、向上类型转化时

  丢失添加的方法和字段,剩余的为:

  基类字段

  基类静态方法或final方法 //前二者为不能被覆盖的成员,因此保留,无多态性

  基类其他方法(若被子类覆盖则为子类覆盖的新方法)


原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/148/12153148.shtml

 

总结:如果父类中存在静态方法(static) 或者private方法,子类是不能覆盖这种类型的方法的,当通过: 父类 x = new 子类();调用时,x。static方法调用的是父类的并不是子类的,而private方法需要使用类名。的方式直接调用。 而调用这两种方法之外的方法时,调用的是子类中复写的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值