1. 程式人生 > >JAVA中的介面回撥

JAVA中的介面回撥

 

定義:

/**
 * @author Administrator
 * @project: TestOne
 * @package: PACKAGE_NAME
 * @date: 2018/11/30 0030 15:42
 * @brief: 郭寶
 */
public class Person {

    /**
     * 自定義一個介面
     */
    public interface OnNameChangeListener{
        //介面中的抽象函式,並攜帶資料
        void onNameChange(String name);
    }

    /**
     * 
     * @param name   
     * @param onNameChangeListener  傳入實現了該介面的子類物件
     */
    public void setName(String name,OnNameChangeListener onNameChangeListener){

        if (onNameChangeListener!=null){
            //呼叫介面中的抽象函式
            onNameChangeListener.onNameChange("你好,"+name);
        }
    }
}

 

 

呼叫:

/**
 * @author Administrator
 * @project: TestOne
 * @package: PACKAGE_NAME
 * @date: 2018/11/30 0030 15:39
 * @brief: 郭寶
 */
public class mian {

    public static void main(String[] a){


        
        
        //例項化Person,並設定名稱,傳入實現OnNameChangeListener介面的子類物件
        new Person().setName("郭寶", new Person.OnNameChangeListener() {
            @Override
            public void onNameChange(String name) {
                System.out.println(name);
                //你好,郭寶
            }
        });
    }
}