8.1向上转型

简介:

package sedion.nsg.upcasting;
 
public enum Note {
    MIDDLE_C,C_SHARP,B_FLAT;
}

  
package sedion.nsg.upcasting;
public class Instrument {
    public void play(Note n){
        Syso.print("Instrument.play()");
    }
}

  
package sedion.nsg.upcasting;
 
public class Wind extends Instrument{
    public void play(Note n){
        Syso.print("Wind.play()");
    }
}

  
package sedion.nsg.upcasting;
 
public class Music {
    public static void tune (Instrument i){
        i.play(Note.MIDDLE_C);
    }
    public static void main(String[] args) {
        Wind flute = new Wind();
        tune(flute);
    }
}

相关文章
|
C#
C#方法重写
C#方法重写
77 0
|
编译器
【多态-动态绑定-向上转型-抽象类】
【多态-动态绑定-向上转型-抽象类】
55 0
|
安全 Java 编译器
C++的向上转型
在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换的前提是,编译器知道如何对数据进行取舍。例如: int a = 10.9; printf("%d\n", a); 输出结果为 10,编译器会将小数部分直接丢掉(不是四舍五入)。再如: float b = 10; printf("%f\n", b); 输出结果为 10.000000,编译器会自动添
|
测试技术 uml
super关键字
super关键字
61 0
对象的向上转型/向下转型笔记
对象的向上转型/向下转型笔记
|
编译器
Super关键字详解
Super关键字详解
96 0
|
JavaScript
6、this关键字
6、this关键字
96 0
6、this关键字
|
自然语言处理 JavaScript 前端开发
浅谈一下this关键字
浅谈一下this关键字
93 0
浅谈一下this关键字

热门文章

最新文章