Scala实例化类实例

示例

Scala中的类是类实例的“蓝图”。实例包含该类定义的状态和行为。声明一个类:

class MyClass{}  // 花括号在这里是可选的,因为类主体为空

可以使用new关键字实例化一个实例:

var instance = new MyClass()

要么:

var instance = new MyClass

在Scala中,括号是可选的,用于从具有无参数构造函数的类中创建对象。如果类构造函数接受参数:

class MyClass(arg : Int)       // 类定义
var instance = new MyClass(2)  // 实例实例化
instance.arg                   // 不允许

这里MyClass需要一个Int参数,该参数只能在类内部使用。除非声明为字段,否则arg无法在外部访问MyClass:

class MyClass(arg : Int){ 
    val prop = arg  // 类字段声明
} 

var obj = new MyClass(2)
obj.prop     // 法律声明

或者,可以在构造函数中将其声明为public:

class MyClass(val arg : Int)   // 类定义 with arg declared public
var instance = new MyClass(2)  // 实例实例化
instance.arg                   //arg现在对客户可见