寫一個介面回撥的簡單demo
阿新 • • 發佈:2019-01-08
寫一個demo吧。
先寫思路 畫圖太懶。。。
A - > B - >自身的方法( 實質上是呼叫介面c中的方法) - > A
類A實現了介面c 。 介面c 註冊在類B 中
所以這就是回撥???
我覺得暫時理解就這樣。
通俗講就是: A 問 B 問題 , B 就拿(拿就是b的方法)出自己的書C,結果A一看突然想起了答案(自己原來就學過C的)。
比喻不太恰當....但理解起來比較容易
接下來就是demo階段。
首先建立實體類User
public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInfo() { return Info; } public void setInfo(String info) { Info = info; } private String Info; public void UserPrint(){ System.out.println("name:" + name + "doing" + Info); //輸出User裡面資訊。 } }
介面demoCode. 相當與類c
public interface demoCode {
public void getOurUser(User user);
}
接下來就是 類b
OutUser類
public class OutUser { private demoCode demoCode; public void setCode(demoCode demoCode){ //註冊了介面demoCode 就是介面c this.demoCode = demoCode; } public void OutUser(User user){ if(demoCode != null){ demoCode.getOurUser(user); } } }
實現類 Relization
public class Relization implements demoCode { public static OutUser outUser; public void start(){ outUser = new OutUser(); outUser.setCode(this); User user = new User(); user.setName("小明"); user.setInfo("敲程式碼 - -。。"); outUser.OutUser(user); } @Override public void getOurUser(User user) { user.UserPrint(); } }
test
public class test {
public static void main(String args[]){
Relization relization = new Relization();
relization.start();
}
}