JAVA中的接口回调

版权声明:1.版权归原作者Moment ° 回忆 ✨所有; 2.未经原作者允许不得转载本文内容,否则将视为侵权; 3.转载或者引用本文内容请注明来源及原作者; 4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。 https://blog.csdn.net/qq_35366269/article/details/84655982

定义:

/**
 * @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);
                //你好,郭宝
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35366269/article/details/84655982