- 個人淺談接口的使用:
在java中通過繼承可以實現其父類的方法,但是在java中一個類只能擁有一個基類(說明:這裏不包括object),嚴格意義上來說只有一個直接父類,我們通常的類中都是有一個隱藏的繼承關係,繼承至object,當我們使用關鍵字extends 選擇自己需要繼承的類的時候,object就不是我們的直接父類,說這麼多隻是作爲一個基本的引導,因爲在父類可以擁有多個子類,而子類只有一個父類,當一個父類擁有多個子類,那麼他就會爲這些子類提供許多的抽象方法(我們更多的是這麼使用),來滿足子類的重寫等操作,當子類越多的時候就會導致我們的父類中代碼雍鍾,數量龐大,後期整理,修改都是不方便的 ,對於單個子類來說更本也用不到父類的一些方法;那麼接口就出現了 通過接口我們一樣可以實現對方法的重寫,在安卓中我們可以還可以使用接口來進行消息的傳遞響應;
-如何使用接口:
簡單描述接口的使用步驟:
首先創建一個接口 interface關鍵字創建—-構造抽象方法—-實現接口,重寫接口方法—接口的實例化-啓用接口方法傳遞消息;
下面是一個很簡單的示例:
public class MainActivity extends Activity implements mycallback{
private Button mybutton;
private TextView mytext;
private int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
mybutton=(Button) findViewById(R.id.mybutton);
mytext=(TextView) findViewById(R.id.text);
mybutton.setOnClickListener(new myclass(this, i));
}
@Override
public void getposition(int i) {
mytext.append("接口回調傳回的數字:"+i+"\n");
}
}
class myclass implements OnClickListener{
private int i;
private Context con;
mycallback mycallback;
public myclass(Context con,int i) {
this.i=i;
this.con=con;
if(mycallback==null){
mycallback=(com.example.myinter.myclass.mycallback) con;
}
}
public interface mycallback{
void getposition(int i);
}
@Override
public void onClick(View arg0) {
i++;
mycallback.getposition(i);
}
}
說明:XML中的佈局就一個按鈕和文本框 ;通過點擊按鈕後將i傳給myclass 構造器中,並實例化我們的接口;最終在activity中我們實現接口,重寫接口的方法;
以上就是接口最基本的使用;