So implementieren Sie
statische -Methoden in Kotlin ähnlich wie Java oder C#. Dieser Artikel fasst mehrere Methoden zusammen, nämlich: Paketebene Funktion , Begleiter Objekt, Erweiterungsfunktionen und Objektdeklarationen. Dies erfordert, dass jeder je nach Situation eine Auswahl trifft.
Sie können viele solcher Artikel im Internet finden. Die offizielle Empfehlung sind Funktionen auf Paketebene, und einige Leute empfehlen die Verwendung von Begleitobjekten (Companion Klasse). Das sind gute Optionen, aber sie sind nicht perfekt, und wir haben in verschiedenen Situationen bessere Optionen. Ich habe mehrere Methoden zusammengefasst, nämlich: Funktionen auf Paketebene, Begleitobjekte, Erweiterungsfunktionen und Objektdeklarationen. Dies erfordert, dass jeder je nach Situation eine Auswahl trifft.
1. Funktionen auf Paketebene
Der Unterschied zwischen Kotlin und Java und C# besteht darin, dass Sie Funktionen direkt in der deklarieren können Paket. Die Methode ist die gleiche wie in der Kategorie, daher werde ich hier nicht auf Details eingehen. Es ist in der Tat eine sehr gute Wahl. Es eignet sich für Funktionen, die keine internen Klassen für den Datenaustausch enthalten müssen.
2. Begleitobjekt
Ist Ihnen bei der Verwendung von Java schon einmal aufgefallen, wann die statischen
Variablen und Methoden in Java-Klassen initialisiert werden? Ist es der erste Aufruf der statischen Methode oder das Laden der entsprechenden Java-Klasse? Die Antwort lautet, wenn die Java-Klasse geladen wird (d. h. wenn Sie die Instanzvariablen und -methoden in der Java-Klasse aufgerufen haben, auch wenn Sie keine statischen Variablen und Methoden verwendet haben, wurden die statischen Variablen initialisiert). Ist es nicht angebracht, dieses Phänomen als begleitend zu bezeichnen?
fun main(args: Array<String>) { Books.getBestSellers() } class Books(var name: String, val page: Int) { fun getWordCount()=page*100 companion object ComBooks{ var bestSellers=arrayOf("Harry Potter\r\t","Lord of the Rings\r\t") fun getBestSellers() { bestSellers.forEach{v->println(v)} } } }
oder Books.ComBooks.getBestSellsers()?
Books.getBestSellsers()?。
3. Erweiterungsfunktion
public class Utils { public static boolean isEmpty(String string){ return string != null && string.length() == 0; } public static boolean isWeakEmpty(String string){ return isEmpty(string) && string.trim().length() == 0; } }
fun String.isEmpty() = this != null && this.length == 0; fun String.isWeakEmpty()= this.isEmpty() && this.trim().length == 0
4. Objektdeklaration
object AppInfo{ var AppName = "Kotlin Message" var AppAuthor = "Riley Ge" fun toSimpleString() { println("AppName:$AppName,AppAuthor:$AppAuthor") } }
5. Zusammenfassung
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie man statische Methoden in Kotlin ähnlich wie Java oder C# implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!