music2.java

来自「翁剀JAVA语言那门课程的教案 很多人都看多他的视频教程可惜没有ppt的教案」· Java 代码 · 共 55 行

JAVA
55
字号
//: Music2.java
// Overloading instead of upcasting

class Note2 {
	private int value;
	private Note2(int val) { value = val; };
	public static final Note2
		middleC = new Note2(0),
		cSharp = new Note2(1),
		cFlat = new Note2(2);
}

class Instruments2 {
	public void play(Note2 n) {
		System.out.println("Instrument2.play()");
	}
}

class Wind2 extends Instruments2 {
	public void play(Note2 n) {
		System.out.println("Wind2.play()");
	}
}

class Stringed2 extends Instruments2 {
	public void play(Note2 n) {
		System.out.println("Stringed2.play()");
	}
}

class Brass2 extends Instruments2 {
	public void play(Note2 n) {
		System.out.println("Brass2.play()");
	}
}

public class Music2 {
	public static void tune(Wind2 i) {
		i.play(Note2.middleC);
	}
	public static void tune(Stringed2 i) {
		i.play(Note2.middleC);
	}
	public static void tune(Brass2 i) {
		i.play(Note2.middleC);
	}
	public static void main(String[] args) {
		Wind2 flute = new Wind2();
		Stringed2 violin = new Stringed2();
		Brass2 frenchHorn = new Brass2();
		tune(flute);
		tune(violin);
		tune(frenchHorn);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?