![](/img/trans.png)
[英]How do I call a non-static method from another class in a non-static method? (java)
[英]How do I construct a (non-static) Java inner class from Groovy
如果我有一个像这样的内部类的类:
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代码在您的控制之下而不是外部库,我宁可使用工厂方法。
试试这个
A a = new A();
System.out.println(new B(a, "test")); //crazy syntax!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.