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)
沒有留言:
張貼留言