Как назвать классный внутренний класс - PullRequest
0 голосов
/ 06 января 2019

Это мой код, и я пытаюсь вызвать метод во внутреннем классе, как показано ниже (последняя строка, ic = new oc.Inner ()). Но я получаю ошибку.

Я использую Groovy Console, и, согласно 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 голосов
/ 17 января 2019

Как насчет этого:

def ic = new Outer.Inner()

Это, вероятно, будет работать, только если ваш внутренний класс статичен.

...