【发布时间】:2012-02-27 22:22:22
【问题描述】:
因为我只打算重载构造函数供公共使用来创建类实例,所以我想将主构造函数设为私有。这在 Scala 中可行吗?
【问题讨论】:
标签: scala constructor
因为我只打算重载构造函数供公共使用来创建类实例,所以我想将主构造函数设为私有。这在 Scala 中可行吗?
【问题讨论】:
标签: scala constructor
是的,你可以:
class A private (x: Int) {
def this() = this(42)
}
【讨论】:
是的 - 您可以通过在类名之后指定修饰符来确定主构造函数的可见性,例如:
class Foo private (a: Int, b: String) {
// ...
}
当然,辅助构造函数仍然可以(事实上,必须)引用这个主构造函数,同时仍然被声明为公共的。
【讨论】: