簡體   English   中英

Scala構造函數中的函數不會被調用

[英]Functions in a Scala constructor don't get called

我正在使用Scala和Play框架來創建Web應用程序。 我有一個連接到Cassandra DB的類。 我正在使用構造函數連接到數據庫,但是它不起作用,實際上,我無法從構造函數調用任何函數。 我是Scala的新手,但是從我在Scala的教程上閱讀的內容來看,它應該可以工作。 這是代碼:

class Database
{       
var cluster = Cluster.builder().addContactPoint(Play.application.configuration.getString("cassandra.node")).build()
var session = cluster.connect("acm")
}

為了清楚起見,我刪除了班級的其余部分。 當我創建類的實例時,不會調用這些函數,並且在其他函數中使用它們時,這些變量將保持未分配狀態。 他們可以正常工作。 我也用記錄器進行了測試,但是沒有編寫任何內容。 那么這是怎么回事?

scala> class A {
         var x = 1
         println(s"x = $x")
       }

       val a = new A

我得到了預期的結果

scala> x = 1

從上下文中給出的內容來看,我認為它應該起作用。 如果沒有,它應該駐留在其他地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM