2016-08-09 49 views
2

只是出於好奇,我試圖把我的控制器的動作之一內的本地類,如:的Grails 2.4.2 - 在控制器的動作本地類

def index() { 
    class TestClass { 
     TestClass() { 
      // do something 
     } 
     doSomething() { ... } 
    } 
    TestClass test = new TestClass() 
    test.doSomething() 
    respond anything 
} 

然而,編譯總是失敗給我一個這樣的錯誤這個:

Error Compilation error: startup failed: class TestClass ... 
             ^

你有什麼想法嗎?

回答

1

您不能定義類中的方法

移動它

+0

我認爲是Groovy是一個基於Java的有可能的方法之外,我發現這個在這裏,那裏是一個方法中的類: [Java - 本地類](https://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html)有什麼區別? – gabriel

+0

不,groovy不是java。本地類在Groovy中是無效的......公平起見,我在Java的16年專業開發中沒有使用它們......雖然當然這可能是我的失敗 –

+0

好的,謝謝!我切換到使用匿名類:) – gabriel