繁体   English   中英

如何从Groovy构造(非静态)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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM