interface Instrument{
成都創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元始興做網(wǎng)站,已為上家服務(wù),為始興各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
void play();
}
class Piano implements Instrument{
public void play() {
System.out.println("play Piano");
}
}
class Violin implements Instrument{
public void play() {
System.out.println("play Violin");
}
}
public class InstrumentTest{
public static void main(String[] args) {
Instrument i1 = new Piano();
Instrument i2 = new Violin();
i1.play();
i2.play();
}
}
/*根據(jù)你的需求來看 用向上轉(zhuǎn)型
* 一個(gè)對(duì)象可以看做是本類類型,也可以看做它的超類類型。
* 取得一個(gè)對(duì)象的引用并將它看做超類的對(duì)象,成為向上轉(zhuǎn)型。
* */
//創(chuàng)建抽象的音樂Instrument類,在該類定義了一個(gè)play()彈奏方法,并創(chuàng)建兩個(gè)子類:
//鋼琴和小提琴。在InstrumentTest類中定義testPlay()的演奏方法,
//該方法接受音樂類的對(duì)象做方法的參數(shù),并調(diào)用參數(shù)的play()方法進(jìn)行演奏
//創(chuàng)建一個(gè)類名為InstrumentTest.java源文件,只在一個(gè)文件內(nèi),內(nèi)容如下。
abstract class Instrument {
public abstract void play();//彈奏方法
}
class Piano extends Instrument{
public void play(){ //鋼琴(Piano)演奏
System.out.println("鋼琴(Piano)演奏");
}
}
class Violin extends Instrument{
public void play(){ //小提琴(Violin)演奏
System.out.println("小提琴(Violin)演奏");
}
}
public class InstrumentTest{
public void testPlay(Instrument instrument){
instrument.play(); //傳遞音樂對(duì)象的不同,進(jìn)行不同的演奏
}
public static void main(String[] args) {
InstrumentTest it = new InstrumentTest();
Piano piano = new Piano(); //鋼琴
Violin violin = new Violin();//小提琴
it.testPlay(piano); //鋼琴(Piano)演奏
it.testPlay(violin); //小提琴(Violin)演奏
}
}
當(dāng)然這個(gè)抽象的音樂類 也可以改成接口。
希望能幫到您,也希望你能滿意!
/**
* 歌曲類
*/
public class Music {
public Music() {
super();
}
public Music(String song) {
super();
System.out.println("《"+song+"》");
System.out.println(".....多來米發(fā)所拉稀....");
}
}
/**
* 樂器接口,凡實(shí)現(xiàn)該接口的都游演奏的功能
*/
public interface Instrument {
public Music musical(String song);
}
/**
* 管弦類樂器
*/
public class Orchestral implements Instrument {
public Music musical(String song) {
System.out.println("下面用管弦類樂器演奏 "+song);
return new Music(song);
}
}
/**
* 彈奏類樂器
*/
public class Spiccato implements Instrument {
public Music musical(String song) {
System.out.println("下面用彈奏類樂器彈奏 "+song);
return new Music(song);
}
}
/**
* 其他類型樂器
*/
public class Other implements Instrument {
String instrument;
public Other() {
super();
}
public Other(String instrument) {
this.instrument = instrument;
}
public Music musical(String song) {
System.out.println("用 "+instrument+" 演奏的 "+song);
return new Music(song);
}
public static void main(String[] args) {
Other other = new Other("古箏");
other.musical("高山流水");
}
}
/**
* 笛子
*/
public class Fife extends Orchestral {
public Fife(String song) {
super.musical(song);
System.out.println("這是用橫笛吹奏的 "+song);
}
}
/**
* 薩克斯
*/
public class Sax extends Orchestral {
public Sax(String song) {
super.musical(song);
System.out.println("這是用薩克斯演奏的 "+song);
}
}
/**
* 吉他
*/
public class Guitar extends Spiccato {
public Guitar(String song) {
super.musical(song);
System.out.println("這是吉他彈奏的");
}
}
/**
* 鋼琴
*/
public class Piano extends Spiccato {
public Piano() {
super();
}
public Piano(String song) {
super.musical(song);
System.out.println("這是在用鋼琴?gòu)椬?"+song);
}
}
分享文章:java鋼琴代碼簡(jiǎn)單 編程鋼琴是什么
轉(zhuǎn)載源于:http://jinyejixie.com/article12/dosdddc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、商城網(wǎng)站、建站公司、域名注冊(cè)、網(wǎng)站改版、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)