国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java - 使用匿名類實例化了一個抽象類之后,如何重寫其中的抽象方法并調用?

瀏覽:126日期:2024-02-08 17:18:02

問題描述

public abstract class Rhythm { /** * @return duration between {@linkplain Note} in milliseconds */ public abstract long getDuration(); public void perform() {long duration = getDuration();try { Thread.sleep(duration);} catch (InterruptedException ie) { Thread.currentThread().interrupt(); throw new RuntimeException(ie);} }}

--------------------------------------------------------------------

@Override public void play(Rhythm rhythm, Note note, NoteCallback noteCallback){ rhythm.getDuration();//想在這里重寫getDuration方法,如何做到? rhythm.perform(); note.getNoteValue(); noteCallback.notePlayed(note);}

--------------------------------------------------------------------

//重寫成如下形式 @Override public long getDuration(){ return (expectedMs); }

代碼附上。在play() 方法中如何直接重寫Rhythm類中的抽象方法getDuration()呢? 創建rhythm對象是可以用匿名類的方法實例化的,那是實例化之后 想調用一個重寫的getDuration()方法,有什么辦法么?在不引入子類繼承的前提下。

問題解答

回答1:

java不能怎么做,但能用內部類變相的實現這個需求

public abstract class Rhythm { /** * @return duration between {@linkplain Note} in milliseconds */ public abstract long getDuration();public abstract class InnderClass {public abstract long getDuration(); } private InnderClass innderClass; public Rhythm() {innderClass = new InnderClass() { @Override public long getDuration() {return Rhythm.this.getDuration(); }}; } public void setInnderClass(InnderClass innderClass) {this.innderClass = innderClass; } public void perform() {long duration = innderClass.getDuration();try { Thread.sleep(duration);} catch (InterruptedException ie) { Thread.currentThread().interrupt(); throw new RuntimeException(ie);} }}

@Override public void play(Rhythm rhythm, Note note, NoteCallback noteCallback){//rhythm.getDuration();//想在這里重寫getDuration方法,如何做到?rhythm.setInnderClass(rhythm.new InnderClass() {@Override public long getDuration() {// TODO 把實現放到這里return 0; }});rhythm.perform();note.getNoteValue();noteCallback.notePlayed(note); }回答2:

做不了吧,如果能做Java豈不是動態語言了?

標簽: java
主站蜘蛛池模板: 欧美大片一级毛片 | 午夜成人在线视频 | 久久999视频| 97久久草草超级碰碰碰 | 国产精品久久久久三级 | 国产边打电话边做对白刺激 | 国产一级一国产一级毛片 | 亚洲 欧美 国产 日韩 制服 bt | 三级毛片在线看 | 综合亚洲精品一区二区三区 | 国产愉拍精品手机 | 亚洲国产精品第一区二区 | 久久国产精品久久久久久久久久 | 欧美深夜在线 | 国产精品免费一区二区三区四区 | 国产一级做a爰片久久毛片99 | 久久国产精品成人免费 | 国内精品视频九九九九 | 亚洲一区 欧美 | 亚洲一区在线观看视频 | 亚洲一区二区三区91 | 免看一级a一片成人123 | 欧美一级片在线视频 | 亚洲天堂2016 | 久久久久国产视频 | 绝对真实偷拍盗摄高清在线视频 | 99国产精品免费视频观看 | 欧美成人毛片免费网站 | 一区二区国产在线播放 | 欧美精品日日鲁夜夜添 | 国产成人精品日本亚洲网站 | 欧美精品久久久久久久影视 | 精品亚洲视频在线 | 国内精品久久国产大陆 | 性a爱片免费视频性 | 成人深夜福利在线播放不卡 | 在线视频观看国产 | 国产伦精品一区二区三区精品 | 91精品乱码一区二区三区 | 欧美高清一级毛片免费视 | 欧美午夜性春猛交 |