如何调用Groovy内部类

时间:2019-01-06 11:50:37

标签: groovy-console

这是我的代码,我尝试在内部类中调用该方法,如下所示(最后一行,ic = new oc.Inner())。但是我得到了错误。

我正在使用groovy控制台,并且根据groovy文档,我希望可以从外部类中调用Inner类。我不确定语法。

class Outer {    
      private String privateStr = 'some string'  
       def callInnerMethod() {        
        new Inner().methodA()            
      }      
        class Inner { 
            def methodA() { 
                println "${privateStr}."       
            }     
       } 
}

Outer oc = new Outer()
ic = new oc.Inner() 

这就是我得到的结果:

startup failed:
Script1.groovy: 14: unable to resolve class oc.Inner 
 @ line 14, column 6.
   ic = new oc.Inner()
        ^

1 error

1 个答案:

答案 0 :(得分:0)

如何?

def ic = new Outer.Inner()

仅当您的内部类是静态的时,这才可能起作用。