面向对象特征:多态性(把子类的对象可以给父类的类型的变量引用)

多态性在java中有两种体现:

  1. 方法的重载和重写
  2. 对象的多态性-----可以直接应用在抽象类和接口上

对象的多态------在Java中,子类的对象可以替代父类对象使用

  1. 一个变量只能有一种确定的数据类型
  2. 一个引用类型变量可能指向(引用)多种不同类型的对象
  • 例如:

可以向上转型(把子类的对象可以给父类的类型的变量引用

Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现多态。

Person e=new Student();//Person类型的变量e,指向Student类型的对象

注意:引用变量e编译时和运行时的类型不同。编译时为Person类,运行时为Student类,当调用的方法子类和父类中同时出现时,执行的是子类覆盖后的方法。可能会出现多态,即:相同类型的变量、调用同一个方法时呈现出多种不同的行为特征。当e调用Student类中特有的方法时,编译会报错,因为在Person类中并没有该方法,所以编译会报错。

instanceof运算符

instanceof运算符的作用是:在进行强制类型转换之前,首先判断前一个对象是否是后一个类的实例,是否可以成功转换,从而保证代码更加健壮

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值