Java面向对象三大特征之多态

1.   何为多态:变量类型在编译期和运行时不同。Java编译时类型由声明该变量时使用的类型决定,而运行时类型由代码运行时实际赋给该变量的对象类型决定。

2.   如何产生

向上造型:把一个子类对象直接指向父类引用。此时该引用变量编译期的类型为父类,当运行时,该引用变量类型为子类。但该引用变量只能“ .”(点出来)父类有的方法, 子类独有的方法点不出来。

3.   向上造型时,父类的实例变量不具有多态性,当引用同名实例变量时,此时的变量来自于父类。

4.   引用变量的强制转换

①  因为引用变量在向上造型时子类独有的方法点不出来,所以可以通过强制转换的方式,使该变量获取子类独有方法。强制转换的方式:(type)variable。将variable转换为type型的变量。

②  基本类型之间:只能转换数值型(整数型、浮点型、字符型)。

引用类型之间:只能在具有继承关系的两个类型之间转换,否则会出现编译错误。

③   通过instanceof运算符可以判断是否可以成功强制转换。

方法:“ 引用类型变量 Instanceof类型 ”用于判断前面的对象是否是后面的类型、子类、实现类的实例。(用于将父类型强制转换为子类型)   

eg: if (obj instanceof String) {

String str = (String)obj;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值