实例化类实例

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