接口一些常用用法總結,以及在android監聽中的用法 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

常用用法:回調方法接口,向上轉型動態綁定,常量接口。

回調方法接口:

 

Java代碼 

public interface ICallback { 

  public void   func(); 

 

public class Caller { 

  ICallback callback; 

  public void doCallback() { 

    callback.func(); 

  } 

 

  public void setCallback(ICallback callback) { 

    this.callback = callback; 

  } 

 

 

public class MainClass { 

  public MainClass() { 

  } 

 

  public static void main(String[] args) { 

    Caller caller = new Caller(); 

    caller.setCallback(new ICallback () { 

      public void func() { 

        System.out.println("dosth"); 

      } 

    }); 

    caller.doCallback(); 

  } 

 

向上轉型:

 

Java代碼 

interface People{ 

void peopleList(); 

class Student implements People{ 

public void peopleList(){ 

System.out.println("I’m a student."); 

class Teacher implements People{ 

public void peopleList(){ 

System.out.println("I’m a teacher."); 

public class Example{ 

public static void main(String args[]){ 

People a;             //聲明接口變量 

a=new Student();      //實例化,接口變量中存放對象的引用 

a.peopleList();        //接口回調 

a=new Teacher();     //實例化,接口變量中存放對象的引用 

a.peopleList();       //接口回調 

結果: 

I’m a student. 

I’m a teacher. 

 

 

 

常量接口就不舉例瞭。舉個回調接口在Android中的例子。

實例(對於Android界面上Button點擊事件監聽的模擬):

1.定義接口

 

 

Java代碼 

public interface OnClickListener { 

 

    public void OnClick(Button b); 

 

 

 

 

2. 定義Button

Java代碼 

public class Button { 

 

  OnClickListener listener; 

 

   public void click() { 

 

    listener.OnClick(this); 

 

   } 

 

   public void setOnClickListener(OnClickListener listener) { 

 

    this.listener = listener; 

 

  } 

 

 

3. 將接口對象OnClickListener 賦給Button的接口成員

Java代碼 

public class MyActivity  extends Activity{ 

 

      Button button = new Button(); 

 

      button.setOnClickListener(new OnClickListener(){ 

 

             public void OnClick(Button b) { 

 

                 System.out.println("clicked"); 

 

       }    

 

    }); 

 

      } 

 

 

5進制空間,

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。