public class Inner {
static String s = "nnn";
public static void main(String[] args) {
new Inner().print(new In() {
String ss = "fff";
public void printMess() {
System.out.print(ss);
}
});
}
void print(In in) {
in.printMess();
}
}
interface In {
public void printMess();
}
因为匿名内部类没有类名,所以没有构造方法,外部类也无发访问其内部属性。
使用该类,是因为只需要使用该类一次,且不增加方法。仅有这一个对象。主要是为了实现接口的回调。匿名内部类在编译的时候由系统自动起名Out$1.class
典型的匿名内部类例子,监听事件:
final JButton button_1 = new JButton();
button_1.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
System.out.println("你好!");
}
});