抽象类不能实例化,也就是不能直接new来调用构造器。
我们知道不能new WindowAdapter(),但是为什么new WindowAdapter(){ }这样就可以呢??例如:
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent e){
text.append("\n我被激活");
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
请解释为什么编译器中new WindowAdapter后加一个{}就可以了?
我们知道不能new WindowAdapter(),但是为什么new WindowAdapter(){ }这样就可以呢??例如:
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent e){
text.append("\n我被激活");
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
请解释为什么编译器中new WindowAdapter后加一个{}就可以了?
new WindowAdapter(){
//....
}这是返回的一个带有WindowAdapter接口的的匿名类,addWindowListener接受一个带有WindowAdapter接口的类就可以了 这个类具体叫什么名字则无所谓