Java 内部接口

2023-08-28  本文已影响0人  Tinyspot

1. 基础

概念:在一个类的内部再定义一个接口

2. JDK 的Map

public interface Map<K,V> {
    interface Entry<K,V> {}
}

因为接口是不能实例化的,内部接口只有当它是静态的才有意义。因此,默认情况下,内部接口是静态的

3. 内部类接口

@Test
public void test() {
    Button button = new Button();

    button.setOnClickListener(new Button.OnClickListener() {
        @Override
        public void onClick() {
            System.out.println("Button clicked");
        }
    });

    button.click();
}
public class Button {
    private OnClickListener onClickListener;

    public void setOnClickListener(OnClickListener onClickListener) {
        this.onClickListener = onClickListener;
    }

    public void click() {
        if (onClickListener != null) {
            onClickListener.onClick();
        }
    }

    public interface OnClickListener {
        void onClick();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读