关于匿名类的主题,Oracle 文档指出......
它们类似于本地类,只是它们没有名称。如果您只需要使用一次本地类,请使用它们
现在,鉴于本地类是(据我所知)在方法(或其他一些本地构造)中定义的类,如下所示......(其中“MyInterface”是具有抽象“测试”方法的接口)
public void localTest(){
MyInterface mi = new MyInterface(){
@Override
public void test(){System.out.println("test");};
};
}
以上是可以的,属于上面的定义,但是,我也可以定义以下......
class MyClass{
MyInterface mi = new MyInterface(){
@Override
public void test(){System.out.println("test");};
};
}
这不在方法内,因此不是“本地”类,因此不属于上述定义。有没有什么地方我可以读到这些类型的匿名类(如果你愿意的话,匿名成员类)。如果不是定义的匿名类,它们到底是什么?