我今天看到了这样的事情:
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
以下部分是什么意思?
new AClass(){ this part }
我可以“扩展”并在线创建此类的新实例吗?
我试图谷歌,但我不知道它叫做什么= /
PS:学习java = p
答案 0 :(得分:3)
它被称为“匿名类”......它是实现接口或扩展现有类(通常是抽象的“适配器”或“助手”类)的简便方式,而无需为其命名。
你可以在Swing代码中看到它...实现窗口和鼠标监听器。
这看起来(面值)就像对主题的正确讨论:http://www.javaworld.com/javaworld/javaqa/2000-03/02-qa-innerclass.html
干杯。基思。
答案 1 :(得分:2)
要添加波西米亚的回答,这与做类似的事情相同
class MyWindowAdapter extends WindowAdapter() {
@Overide
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
和
frame.addWindowListener(new MyWindowAdapter());
答案 2 :(得分:2)
它只是一个匿名的内部类,当你只使用那个接口实现一次时它很有用,它非常有用,否则你只需为它创建一个完整的类。
答案 3 :(得分:1)
它被称为 anonymous 类。