【发布时间】:2015-09-25 01:41:47
【问题描述】:
给定:
class Foo(x: Int) {}
object Foo {
def apply(x: Int) = new Foo(x)
}
除了将Foo 的构造函数标记为private 之外,如何在调用new Foo(...) 时显示警告或编译时失败?
换句话说,我想将Foo 的构造(通过编译时警告或错误)限制为Foo.apply。
这可能吗?
【问题讨论】:
-
为什么“除了将 Foo 的构造函数标记为私有”?那个解决方案有什么问题?
-
这就是将构造函数标记为私有的原因 for。
-
值类忽略私有,不是吗?
-
@KevinMeredith,没有。检查我的答案的更新,并点击其中的链接了解更多详情。
标签: scala