In Java ist es möglich, eine Klasse Haupt-Konstruktor, indem sie es private
machen und dann verstecken sie über eine public
static
Methode in dieser Klasse den Zugriff auf:privaten Konstruktor in 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;
}
// ...
}
Wie kann das gleiche mit Kotlin erreichbar ohne die Klasse in eine public
Schnittstelle und eine private
Implementierung zu trennen? Ein Konstruktor private
zu machen führt dazu, dass von außerhalb der Klasse nicht zugegriffen werden kann, nicht einmal von der gleichen Datei.