假設我已經定義了一類接口是這樣的:在Java中使用接口觸發從A級事件B級
public class myClass {
public void test() {
//here I want to trigger `onStartListener`
}
interface OnStartListener {
public void onStart();
}
}
和一流的BI有這樣的定義:
public class ClassB implements myClass.OnStartListener {
public void ClassB() {
myClass test1 = new myClass();
myClass.test();
}
@Override
public void onStart() {
System.out.println("start triggered");
}
}
如何我觸發OnStartListener
從test
方法myClass
那麼ClassB
可以處理嗎?
怎麼樣?我想從'myClass'觸發,並且ClassB已經訂閱了聽該事件。 – codelearner
是否有可能不是使用'setListener',而是直接在構造函數中使用'this'來實例化'OnStartListener'?例如。像這樣:this.myListener =(OnStartListener)this; – codelearner
我已經看到你的更新答案......但我的意思是。我正在'ClassB'中初始化'myClass',像這樣...'new myClass()'。如果我直接在myClass構造函數中使用'this':this.myListener =(OnStartListener)this',而不是在裏面傳遞引用,這個工作嗎?因爲我認爲它已經引用了發起人。 – codelearner