例項化類例項

Scala 中的類是類例項的藍圖。例項包含該類定義的狀態和行為。要宣告一個類:

class MyClass{}  // curly braces are optional here as class body is empty

可以使用 new 關鍵字例項化例項:

var instance = new MyClass()

要麼:

var instance = new MyClass

Scala 中的括號是可選的,用於從具有無引數建構函式的類建立物件。如果類建構函式接受引數:

class MyClass(arg : Int)       // Class definition
var instance = new MyClass(2)  // Instance instantiation
instance.arg                   // not allowed

這裡 MyClass 需要一個 Int 引數,該引數只能在內部用於類。arg 不能在 MyClass 之外訪問,除非它被宣告為欄位:

class MyClass(arg : Int){ 
    val prop = arg  // Class field declaration
} 

var obj = new MyClass(2)
obj.prop     // legal statement

或者,它可以在建構函式中宣告為 public:

class MyClass(val arg : Int)   // Class definition with arg declared public
var instance = new MyClass(2)  // Instance instantiation
instance.arg                   //arg is now visible to clients