2016-04-11 26 views
1
class SharedWorld { 
    def db = Db(sql) 

    def help = Help(db) 
} 

class Db { 
    Sql sql 

    Db(def sql) { 
     this.sql = sql 
    } 
} 

class Help { 
    Help(){} 
    Db db 

    Help(Db db) { 
     this.db = db 
    } 
} 

我有這樣的結構,由於某種原因,當我編譯我的時髦我得到一個錯誤,它無法找到幫助匹配的構造函數(DB )。任何想法爲什麼?簽名明顯匹配我得到一個錯誤約沒有找到匹配的構造函數,但簽名匹配

+1

您的班級定義看起來很糟糕。爲什麼在課程名稱後面加括號? – JChap

回答

2

您的代碼中存在一些問題。

首先,類聲明不需要在類名後緊接參數或需要括號。嘗試在花括號內爲SharedWorld構造一個構造函數。另外,您需要使用new關鍵字來實例化類(儘管有一個註釋來支持您正在使用的語法)。例如:

class SharedWorld { 
    def db 
    def help 
    SharedWorld(sql) { 
     db = new Db(sql) 
     help = new Help(db) 
    } 
} 
相關問題