Java や C# と同様に Kotlin で静的メソッドを実装する方法の詳細な説明
Java や C# に似た Kotlin で static メソッドを実装するにはどうすればよいですか? この記事では、パッケージ レベルの 関数、コンパニオン オブジェクト
、拡張関数、オブジェクト宣言などのいくつかのメソッドを要約します。これには、誰もがさまざまな状況に応じて選択する必要があります。そのような記事はインターネット上でたくさん見つかります。公式の推奨はパッケージレベルの関数であり、コンパニオンオブジェクト (コンパニオンクラス
) を使用するという人もいます。これらは良い選択肢ですが、完璧ではなく、さまざまな状況でより良い選択肢があります。パッケージレベル関数、コンパニオンオブジェクト、拡張関数、オブジェクト宣言といったいくつかのメソッドをまとめました。これには、誰もがさまざまな状況に応じて選択する必要があります。1. パッケージレベルの関数
Kotlin と Java および C# の違いは、パッケージ内で直接 関数を宣言
できることです。方法はカテゴリと同じなので、ここでは詳しく説明しません。これは確かに非常に良い選択です。これは、関数にデータ共有のための内部クラスを含める必要がないメソッドに適しています。 2. コンパニオン オブジェクト
意味的に言えば、コンパニオン関数は Java の静的メソッドに最も似ているため、コンパニオン オブジェクトは Java の静的クラスのすべての内容を完全に実装できます。ただし、Kotlin では、コンパニオン オブジェクトはオプションの 1 つにすぎず、Java で静的メソッドを使用することは選択の余地がない場合があります。次にコンパニオンオブジェクトを紹介します。 Java を使用するときに、Java クラスの静的な 変数
メソッドがいつ初期化されるかに気づきましたか?静的メソッドが最初に呼び出されたときですか、それとも対応する Java クラスがロードされたときですか?答えは、Java クラスがロードされるときです (つまり、静的変数とメソッドを使用していなくても、Java クラスでインスタンス変数とメソッドを呼び出した場合、静的変数は初期化されています)。この現象は付随するものと表現するのが適切ではないでしょうか。
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)} } } }
Books.ComBooks.getBestSellsers()?
或 Books.getBestSellsers()?。
コンパニオン クラスは、Companion を使用して宣言され、コンパニオン オブジェクトが配置されているクラスにロードされ、Java の静的メンバーと同様に初期化されます。匿名にすることも、包含クラスと同じ名前にすることもできます。呼び出しには次の 2 種類があります: 3. 拡張関数
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
上記の 2 行のコードは、2 つの関数で String クラスを拡張しています。これらの 2 つの関数は、ネイティブ関数と同じように呼び出すことができます。コードは非常に美しいです。実際、拡張関数は String クラスの内部内容を変更せず、String に 2 つの静的関数を追加するだけですが、Java の Utils クラスと比較して可読性は大幅に向上しています。
4. オブジェクト宣言
このクラスのすべてのメソッド (場合によっては変数もある) は静的です。Java では、このメソッドをインスタンス化する必要はまったくありません。このカテゴリを静的クラスとして宣言することがよくあります。Kotlin でこの状況に対する適切な解決策はありますか?コンパニオン オブジェクトよりも優れたソリューションはありますか?もちろんあります。オブジェクト宣言は 1 つです。
5. まとめ
以上がJava や C# と同様に Kotlin で静的メソッドを実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

XMLを単語に変換するには、Microsoft Wordの使用、XMLコンバーターの使用、またはプログラミング言語の使用方法が3つあります。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

XML形式を変更する方法はいくつかあります。Atepadなどのテキストエディターを使用して手動で編集する。 XmlBeautifierなどのオンラインまたはデスクトップXMLフォーマットツールを使用して自動的にフォーマットします。 XSLTなどのXML変換ツールを使用して変換ルールを定義します。または、Pythonなどのプログラミング言語を使用して解析および操作します。元のファイルを変更してバックアップするときは注意してください。

Spring Bootは、Java開発に革命をもたらす堅牢でスケーラブルな、生産対応のJavaアプリケーションの作成を簡素化します。 スプリングエコシステムに固有の「構成に関する慣習」アプローチは、手動のセットアップを最小化します。
