package java2.itf;
public interface Listener {
public void eventHappen();//Interface所有的Method不能有身體
}
//============================================================
package java2.itf;
public class ListenerImpl implements Listener {//為了要實做Listener這個interface,所以要透過implements來長出身體{}
@Override
public void eventHappen() {
System.out.println("ListenerImpl內的實作eventHappen()");
}
}
//============================================================
package java2.itf;
public class Button {
public Listener listener;
public void setListener(Listener m){
this.listener = m;
}
public void onClick(){
listener.eventHappen();
}
}
//============================================================
package java2.itf;
public class MainTest {
public static void main(String[] args) {
//1.直接使用實作View interface的class
Button b = new Button();
//ListenerImpl listImpl = new ListenerImpl();
b.setListener(new ListenerImpl());
b.onClick();
//1.2最初版
ListenerImpl listImpl = new ListenerImpl();//實做一個名為listImpl的ListenerImpl
b.setListener(listImpl);
b.onClick();
//2.使用匿名類別
Button b2 = new Button();
b2.setListener(new Listener() {
@Override
public void eventHappen() {
System.out.println("匿名class,實作Listener interface");
}
});
b2.onClick();
}
}
2013-12-06
[Java]練習匿名class
John大師開釋
package:java2.itf;
Class:Listene、 ListenerImpl 、Button、MainTest
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言