jam*_*kie 13 java groovy inner-classes
如果我有一个像这样的内部类的类:
public class A {
class B { //note, no modifier on class or constructor
B(String c) {System.out.println(c);}
}
}
Run Code Online (Sandbox Code Playgroud)
从Java(在同一个包中)我可以这样做:
public class C {
public static void main(String[] args) {
A a = new A();
System.out.println(a. new B("test")); //crazy syntax!
}
}
Run Code Online (Sandbox Code Playgroud)
但在Groovy中,这不起作用.那么如何构建一个新的B [来自同一包中的groovy类]?
Rob*_*her 12
我让它像这样工作:
def a = new A()
A.B.newInstance(a, "foo")
Run Code Online (Sandbox Code Playgroud)
还像这样:
def a = new A()
new A.B(a, "foo")
Run Code Online (Sandbox Code Playgroud)
如果Java代码在您的控制之下而不是外部库,我宁可使用工厂方法.
| 归档时间: |
|
| 查看次数: |
5474 次 |
| 最近记录: |