匿名类(没有自己的名字)
new 接口{}
new 抽象类{}
下面这个例子最终都转成他们基类——KeyListenter
package diedai;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class MyWindow extends Frame {
public MyWindow() throws HeadlessException {
super();
//new了一个实现了接口的普通类MyKeyListener
class MyKeyListener implements KeyListener {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
this.addKeyListener(new MyKeyListener());
//new了一个实现接口的匿名类
this.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});
//new了一个继承抽象类的普通类MyAdapter
class MyAdapter extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
super.keyPressed(e);
}
}
this.addKeyListener(new MyAdapter());
//new了一个继承抽象类的匿名类
this.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
super.keyPressed(e);
}
});
}
}