이너 인터페이스 : 내부에서 생성되었기 때문에 클래스 내부의 모든 리소스에 접근
정적 이너 인터페이스만 존재할 수 있다.static 키워드를 생략해도 컴파일러가 자동으로 추가해 준다.일반적인 이벤트 처리 기능을 이너 인터페이스를 이용해 작성
자바가 제공하는 기본 Button 클래스를 익명 인터페이스 구현으로 버튼 기능 생성
package month7days1;
class Button {
OnClickListener ocl;
void setOnClickListener(OnClickListener ocl){
this.ocl = ocl;
}
interface OnClickListener{
public abstract void onClick();
}
void click(){
ocl.onClick();
}
}
public class BtnEvent {
public static void main(String[] args) {
Button btn1 = new Button();
btn1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick() {
System.out.println("개발자1: 음악재생");
}
});
btn1.click();
Button btn2 = new Button();
btn2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick() {
System.out.println("개발자2 : 네이버 접속");
}
});
btn2.click();
}
}