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现在对客户可见