我正在创建一个对象作为具有匿名类型的类变量。没有编译错误。我的问题是如何使用该类?如何调用我定义的方法?它实际用在什么地方?
public class MyClass {
Object o = new Object(){
public void myMethod(){
System.out.println("In my method");
}
};
}
我无法调用对象 o 的 myMethod()
。如何做到这一点以及我们何时使用它?
最佳答案
调用不属于父类(super class)方法的匿名类方法的唯一方法是立即调用它:
new Object(){
public void myMethod(){
System.out.println("In my method");
}
}.myMethod();
如果您只是将匿名类存储在 Object
变量中,您将无法再调用其方法(正如您所发现的)。
然而,这种构造的用处似乎相当有限......
关于java - 具有匿名类型构造函数的对象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671672/