Trong Java nó có thể che giấu một lớp constructor chính bằng cách làm cho nó private
và sau đó truy cập vào nó thông qua một phương pháp public
static
bên trong lớp rằng:Private constructor trong Kotlin
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;
}
// ...
}
Làm thế nào có thể cùng đạt được với Kotlin mà không tách lớp thành giao diện public
và triển khai private
? Tạo một hàm tạo private
dẫn đến không thể truy cập từ bên ngoài lớp, thậm chí không từ cùng một tệp.