有点奇怪的代码
aframe.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
})
为什么可以在函数参数里面实现另一个函数?WindowAdapter是一个抽象类,这中写法我不知道是什么意思
------解决方案--------------------函数的参数是一个对象,
括号里的是新生成对象的方法
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
相当于新定义的类,直接实例化了,
------解决方案--------------------继承该抽象类,重写它的方法,这是匿名的类
------解决方案--------------------这样哦,有点懂了。还有一个问题,有什么方法可以让非静态子类在main中new呢?
======================================================================
把类写到main所在类的外面就行了
------解决方案--------------------匿名内置类
------解决方案--------------------应该是定义一个匿名类去实现windowAdapter
和
interface a{public void aa();}
class b implements a{public void aa(){}}
addAction(new b());
再使用b去当作监听类一个意思,就是哪个类并不是可见类名的
------解决方案--------------------匿名类