例項化類例項
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