Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements接口
Posted on 2008-10-10 09:30 林光炎 閱讀(2707) 評論(0) 編輯 收藏匿名類本身就是通過繼承類或者接口來實現的。但是不能再顯式的extends 或者implements了。
舉個例子:
JFrame frame = new JFrame();
我們為frame添加窗口事件可以采用如下兩種方式:
- Java code
-
frame.addWindowListener(new WindowListener() { public void windowOpened(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowClosing(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowClosed(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowIconified(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowDeiconified(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowActivated(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void windowDeactivated(WindowEvent e) { throw new UnsupportedOperationException("Not supported yet."); } });
這個匿名類就是實現了接口WindowListener
或者:
- Java code
-
frame.addWindowListener(new WindowAdapter() {});
上面這個匿名類就是繼承了WindowAdapter這個抽象類。