java 多态

本文详细阐述了面向对象编程中的多态性实现方式,通过研究生和本科生选课方法的不同来说明子类如何覆盖父类方法,进而实现多态性。实例化子类并将其作为父类使用,确保不同子类执行其特定行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象的三大特性是继承、多态,封装。实现多态性有三个条件:

1)子类覆盖父类的方法;2)实例化子类;3)将子类当作父类来使用。

可以考虑这样一种情形,学生有研究生(GraduateStudent)和本科生(UnderGraduateStudent)两种,他们都有一个选课(xuanke())的方法,

但是选课的过程与步骤是不一样的.

Class GraduateStudent extends Person {

   public xuanke()   {       //研究生的选课方法

   }

}

Class UnderGraduateStudent  extends Person { 

  public xuanke()   {       //本科生的选课方法

   }

}

如果父类Person为:

Class Person{  

 public xuanke()   {       //学生的选课方法 

  }

}

现在假设这样一种情形:有若干个学生来选课,我们可以直接将其转化为其父类。

通过父类调用选课方法,各个子类会执行其实例化时对应子对象的方法而不是父类中的选课方法。

假设 有几个学生对象  s1,s2,s3你不知道他们是研究生还是本科生,

但是你不用对每一个对象都去判断其类型,直接将其转为其父类使用,

这样他们会执行各自子类的定义的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值