如果我有一个带有这样内部类的类:
public class A {
class B { //note, no modifier on class or constructor
B(String c) {System.out.println(c);}
}
}
从 Java(在同一个包中)我可以这样做:
public class C {
public static void main(String[] args) {
A a = new A();
System.out.println(a. new B("test")); //crazy syntax!
}
}
但在 Groovy 中,这是行不通的。那么我如何构造一个新的 B [从同一包中的 groovy 类]?
最佳答案
我让它像这样工作:
def a = new A()
A.B.newInstance(a, "foo")
还有这样的:
def a = new A()
new A.B(a, "foo")
不过,如果 Java 代码在您的控制之下而不是外部库,我宁愿使用工厂方法。
关于java - 我如何从 Groovy 构造一个(非静态的)Java 内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27980332/