在 Java 中,可以隐藏一个类的主构造函数,方法是使其成为 private
然后通过该类方法内部的 public
static
425ce7 访问它:
public final class Foo {
/* Public static method */
public static final Foo constructorA() {
// do stuff
return new Foo(someData);
}
private final Data someData;
/* Main constructor */
private Foo(final Data someData) {
Objects.requireNonNull(someData);
this.someData = someData;
}
// ...
}
如果不将类分成 public
接口和 private
实现,Kotlin 如何能达到同样的效果?制作构造函数 private
导致它无法从类外部访问,甚至无法从同一个文件访问。
原文由 Marvin 发布,翻译遵循 CC BY-SA 4.0 许可协议
您甚至可以在拥有私有构造函数的同时做一些更类似于“模拟”公共构造函数的使用的事情。