ホームページ  >  記事  >  Java  >  Javaでオブジェクトを作成するにはどうすればよいですか? 5つの導入方法

Javaでオブジェクトを作成するにはどうすればよいですか? 5つの導入方法

青灯夜游
青灯夜游転載
2019-11-26 17:09:473181ブラウズ

Javaでオブジェクトを作成するにはどうすればよいですか? 5つの導入方法

オブジェクトがない場合は新しいオブジェクトを作成するという話はよくありますが、私の場合、オブジェクトを作成するという方法が新しい方法として根強く残っていますが、実際にはまだあります。はい、新しいメソッドを使用してオブジェクトを作成するだけでなく、リフレクション メカニズムを使用してオブジェクトを作成したり、クローン メソッドを使用してオブジェクトを作成したり、オブジェクトはシリアル化と逆シリアル化を通じて作成されます。ここでは、Java でオブジェクトを作成する方法を学ぶために、オブジェクトを作成するいくつかの方法の概要を示します。

[推奨学習: Java ビデオ チュートリアル ]

1. 新しいキーワードを使用します

これはオブジェクトを作成するための最も一般的で最も簡単な方法であり、この方法で任意の適切な関数 (パラメーターなしおよびパラメーター化された) を呼び出すこともできます。

例: Student Student = new Student();

2. Class クラスの newInstance メソッドを使用します

This newInstance このメソッドは、パラメータを指定せずにコンストラクターを呼び出してオブジェクトを作成します (

例: Student Student2 = (Student)Class.forName("Root path.Student").newInstance();

または: Student stu = Student.class.newInstance();

3. コンストラクター クラスの newInstance メソッドを使用します

Thisこのメソッドは、Class クラスの newInstance メソッドに非常に似ています。同様に、java.lang.relect.Constructor クラスにもオブジェクトを作成するための newInstance メソッドがあります。

この newInstance メソッドを通じて、パラメーター化されたプライベート コンストラクターを呼び出すことができます。

例: Constructorconstructor = Student.class.getInstance(); Student stu =constructor.newInstance();

これら 2 つの newInstance メソッドは、誰もがリフレクションと呼んでいるものです。の場合、Class の newInstance メソッドは内部で Constructor の newInstance メソッドを呼び出します。

これは、Spring、Hibernate、Struts などの多くのフレームワークが後者を使用する理由でもあります。

4. clone メソッドを使用する

オブジェクトの clone メソッドを呼び出すたびに、JVM は新しいオブジェクトを作成し、すべての前のオブジェクトの内容がコピーされます。 clone メソッドを使用してオブジェクトを作成する場合、コンストラクターは呼び出されません。 clone メソッドを使用するには、まず Cloneable インターフェイスを実装し、それが定義する clone メソッドを実装する必要があります。

例: Student stu2 = stu.clone();

これもプロトタイプ モードのアプリケーションです。

5. 逆シリアル化を使用する

オブジェクトをシリアル化および逆シリアル化するとき、JVM は別のオブジェクトを作成します。 JVM はオブジェクトを作成しますが、コンストラクターは呼び出しません。オブジェクトを逆シリアル化するには、クラスに Serializable インターフェイスを実装する必要があります。

例: ObjectInputStream in = new ObjectInputStream (new FileInputStream("data.obj")); Student stu3 = (Student)in.readObject();

この記事は ## からのものです。 #java 入門 列、ぜひ学習してください!

以上がJavaでオブジェクトを作成するにはどうすればよいですか? 5つの導入方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。