ホームページ  >  記事  >  Java  >  Javaでオブジェクトを作成するにはいくつかの方法があります

Javaでオブジェクトを作成するにはいくつかの方法があります

王林
王林オリジナル
2019-11-30 11:45:292804ブラウズ

Javaでオブジェクトを作成するにはいくつかの方法があります

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

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

例:

User user = new User();

2. リフレクション メカニズムを使用する

リフレクション メソッドを使用して Java.lang.Class またはjava.lang.reflect.ConstructornewInstance()クラスのインスタンスメソッド。

関連ビデオ チュートリアルの共有: Java 教育ビデオ

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

次のことができます。 Class クラスを使用します。 newInstance メソッドはオブジェクトを作成します。この newInstance メソッドは、パラメーターなしのコンストラクターを呼び出してオブジェクトを作成します。

//创建方法1
User user = (User)Class.forName("根路径.User").newInstance(); 
//创建方法2(用这个最好)
User user = User.class.newInstance();

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

は、Class クラスの newInstance メソッドとよく似ています。Java にも newInstance メソッドがあります。 .lang.reflect.Constructor クラス。オブジェクトを作成します。この newInstance メソッドを通じて、パラメーター化されたプライベート コンストラクターを呼び出すことができます。

Constructor<User> constructor = User.class.getConstructor();
User user = constructor.newInstance();

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

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

オブジェクトの clone メソッドを呼び出すたびに、JVM は新しいオブジェクトを作成し、前のオブジェクトの内容をすべてコピーします。 。 入る。 clone メソッドを使用してオブジェクトを作成しても、コンストラクターは呼び出されません。

クローン メソッドを使用するには、まず Cloneable インターフェイスを実装し、それによって定義されたクローン メソッドを実装する必要があります。

例:

public class CloneTest implements Cloneable{
    private String name;  
    private int age; 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public CloneTest(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public static void main(String[] args) {
        try {
            CloneTest cloneTest = new CloneTest("wangql",18);
            CloneTest copyClone = (CloneTest) cloneTest.clone();
            System.out.println("newclone:"+cloneTest.getName());
            System.out.println("copyClone:"+copyClone.getName());
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }

実行:

newclone:wangql
copyClone:wangql

4. 逆シリアル化の使用

オブジェクトをシリアル化および逆シリアル化する場合、jvmは別のオブジェクトを作成します。逆シリアル化中、jvm はオブジェクトを作成し、コンストラクターを呼び出しません。

オブジェクトを逆シリアル化するには、クラスに Serializable インターフェイスを実装する必要があります。

関連記事チュートリアルの共有: Java クイック スタート

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。