接口用法有:某类实现了这个接口,但是下面这种用法也时常见到
Runnable r = new Runnable() {
public void run() {
try {

} catch (Exception x) {

x.printStackTrace();
}
}
};
还有比如
this.addWindowListener(new java.awt.event.WindowListener() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()");           }
public void windowOpened(java.awt.event.WindowEvent e) {
}
public void windowClosed(java.awt.event.WindowEvent e) {
}
public void windowIconified(java.awt.event.WindowEvent e) {
}
public void windowDeiconified(java.awt.event.WindowEvent e) {
}
public void windowActivated(java.awt.event.WindowEvent e) {
}
public void windowDeactivated(java.awt.event.WindowEvent e) {
}
});
这算什么啊?属于接口的实例化么?
哪位高手能给我从语法,java思想等角度解释一下?谢谢!

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4337/4337439.xml?temp=5.324954E-02
      

  2.   

    可是Runnable,WindowListener是接口,不是一般类,这种用法算是实例化接口,还是继承接口?很困惑
      

  3.   

    生成的匿名类会实现Runnable或者WindowListener接口啊,然后再把该匿名类的实例赋给接口有什么错?
    ------个人不喜欢匿名类,也甚少使用,只有当这种类你只在一个地方会用到而无须多次生成实例时才考虑使用匿名类。
      

  4.   

    up看看书就知道了,core java