Java の `Class.forName()` と `Class.forName().newInstance()` の主な違いは何ですか?
「Class.forName()」と「Class.forName().newInstance()」の違いを理解する
Java では、どちらも Class.forName()および Class.forName().newInstance() は、動的クラスの読み込みにおいて重要な役割を果たします。ただし、それらは別の目的を果たします。
Class.forName()
Class.forName() メソッドは、完全修飾クラス名を文字列として受け取り、そのクラスに関連付けられた Class オブジェクトを返します。これは、クラス ローダーを使用してクラス ファイルを見つけ、その内容を読み取ることによって行われます。 Class.forName() はクラスをインスタンス化しません。これは単にメタデータと情報へのアクセスを提供するだけです。
Class.forName().newInstance()
Class.forName().newInstance() メソッドは、一方、 Class.forName() によって返される Class オブジェクトによって表されるクラスの新しいインスタンス。これは、クラスのデフォルトのコンストラクターを呼び出すことによって行われます。
例:
違いを説明するための例を考えてみましょう:
package test; public class Demo { public Demo() { System.out.println("Hi!"); } public static void main(String[] args) throws Exception { Class clazz = Class.forName("test.Demo"); Demo demo = (Demo) clazz.newInstance(); } }
この例では:
- Class clazz = Class.forName("test.Demo"): この行は、Class.forName() を使用して Demo クラスを読み込みます。 clazz は、Demo クラスの Class オブジェクトを保持するようになりました。
- Demo Demon = (Demo) clazz.newInstance(): この行は、Class.forName().newInstance() を使用して Demo クラスの新しいインスタンスを作成します。 clazz.newInstance() は Object を返すため、(デモ) キャストが必要です。
主な違い:
Class.forName() と Class.forName() の主な違い.newInstance() は、Class.forName() がクラスをロードするだけであるのに対し、Class.forName().newInstance() はクラスをロードするだけでなく、そのクラスのインスタンスも作成します。
動的クラスロードの使用ケース:
Class.forName() および Class.forName().newInstance() は、動的クラスの読み込みが必要なシナリオでよく使用されます。例としては、次のものが挙げられます。
- データベース要件に基づいて実行時にロードされる JDBC ドライバ。
- コンポーネントを動的にロードおよび作成する EJB およびサーブレット コンテナ。
- ロードされるプラグインまたは拡張機能。オンデマンド。
以上がJava の `Class.forName()` と `Class.forName().newInstance()` の主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック







