java语言多态性

面向对象三大特性:封装,继承,多态

extends继承或者implements实现,是多态的前提。

一、在多态中,成员变量以及成员方法的使用

定义一Fu类,类中有成员变量num=10;成员方法method()和methodFu()

  定义一Zi类 Z类继承Fu类 ,类中有跟父类成员变量相同的num=20;成员方法名相同的method()和特有的方法methodZi();

 

 定义一测试类,使用多态方法 在编译obj.methodZi()时报错。

 结果为

从结果中可以看出输出同样成员变量num值,结果是10;同样成员方法,结果是20;而且编译不了子类特有的成员方法。

所以:在访问成员变量时:看等号左边是谁就优先用谁,没有则往上找

           在访问成员方法时:编译看左,运行看右  (编译时要看左边有没有该方法,如果只有子类有,则访问不到)

二、对象的转型

a.向上转型:向上转型其实就是使用多态方法,把小的范围转换为大的范围

b.向下转型:使用多态方法时,往往子类特有的方法不能被实现。所以在这时需要进行向下转型【还原】。

        格式:子类名称 对象名 = (子类名称) 父类对象

例:

 

 三、Instanceof关键字

在有多个子类并且子类都有特有的方法时,需要用Instanceof关键字进行判断。

例:

 

 

格式:对象 Instanceof 类名称

这将会得到一个boolean值,就是判断前面的对象能不能做后面类型的实例 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值