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

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

王林
リリース: 2019-12-02 09:09:49
オリジナル
2895 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート