我知道以下方式有效:
package mypackage;
public class Main{
public void oFunc(){
class Inner{
void foo(){
}
};
Inner s = new Inner();
s.foo();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有这样的方法可以创建对象,同时声明它?这无法编译,是否有类似的方法来做到这一点?
package mypackage;
public class Main{
public void oFunc(){
new class Inner{
void foo(){
}
}().foo();
}
}
Run Code Online (Sandbox Code Playgroud)
有了匿名课程,你可以做到
new Object(){
void foo(){
}
}.foo();
Run Code Online (Sandbox Code Playgroud)
但这是唯一可以使用在类体内声明的任何成员的地方.