向上转型 笔记

package test;
public class TestUpcasting {
  public static void tune(Cycle i){
    i.play(Note.MEDIUM);
  }
  public static void main(String[] args) {
    tune(new UnCycle()); 
  }
}
 
enum Note{
  SMALL,MEDIUM,LARGE;
}
 
class Cycle{
  public void play(Note n){
    System.out.println("Cycle");
  }
}
 
class UnCycle extends Cycle{
//  public void play(Note n){
//    System.out.println("UnCycle");
//  }
}
class BiCycle extends Cycle{
  public void play(Note n){
    System.out.println("BiCycle");
  }
}
class TriCycle extends Cycle{
  public void play(Note n){
    System.out.println("TriCycle");
  }
}



**************************************************************
只写一个简单方法,它仅接收基类作为参数,而不是那些特殊的导出类。不关注导出类是否存在,编写的代码只与基类打交道。印证了多态性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值