Scala 类构造器与成员方法的使用技巧
1. 定义私有主构造器
在某些场景下,我们希望将类的主构造器设为私有,比如实现单例模式。要实现这一点,只需在类名和构造器参数之间插入 private 关键字。
以下是示例代码:
// 无参的私有主构造器
class Order private { ...
// 单参数的私有主构造器
class Person private (name: String) { ...
在 REPL 中尝试创建实例时,会发现无法直接创建:
scala> class Person private (name: String)
defined class Person
scala> val p = new Person("Mercedes")
<console>:9: error: constructor Person in class Person cannot be accessed
in object $iw
val p = new Person("Mercedes")
^
在 Scala 中,实现单例模式的一种简单方法是将主构造器设为私有,然后在类的伴生对象中添加 getInstance 方法:
class Brain private {
超级会员免费看
订阅专栏 解锁全文
104

被折叠的 条评论
为什么被折叠?



