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();
}
}
网友评论