多态

面对对象三大特征之一。

用一个特定类型的变量可以引用不同类型的对象,并且能自动地调用引用的对象的方法。它意味也就是根据作用到的不同对象类型,响应不同的操作。

多态意味着在一次方法调用中是根据包含的对象的实际类型(即实际的子类对象)来决定应该调用哪个方法,而不是由用来存储对象引用的变量的类型决定的。

当调用一个方法时,为了得到多态的操作,这个方法既要是父类中声明过的,也必须是子类中重写过的方法。

1、向上转型

父类型 引用变量名 =new 子类型();

a、子类到父类的转换(将父类的引用指向一个子类对象将父类的引用指向一个子类对象)称为向上转型。 向上转型自动进行类型转换。

b、父类引用变量调用的方法是子类中重写后的方法或是继承父类的方法,不是父类的方法。

c、父类引用变量无法调用子类特有的方法。

2、向下转型

子类型 引用变量名 =(子类型)(父类型的引用变量);

a、当向上转型发生后,无法调用子类中特有的方法。

但是如果需要调用子类特有的方法,可以通过把父类再转换为子类(将一个指向子类对象的父类引用赋给一个子类的引用)来实现。

b、向下转型需要进行强制类型转换。

3、instanceof

Java中提供了instanceof运算符来进行类型的判断。

使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系,否则会编译出错。

instanceof通常和强制类型转换结合使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值