Javaは 。つまり、Javaのほとんどすべてがオブジェクトとして扱われます。したがって、Javaでプログラミングするときは、Javaでオブジェクトを作成するためのすべての可能な方法を知っておく必要があります。しかし、オブジェクトを深く掘り下げる前に、次の概念を知っておく必要があります。 Javaクラス オブジェクトがそれらにどのように関連しているか。
この投稿では、Javaでオブジェクトを作成するための5つの異なる方法を取り上げ、メソッドを理解するために必要なすべての重要な概念を理解します。
- 「new」キーワードを使用してオブジェクトを作成する
- clone()メソッドを使用してオブジェクトを作成する
- クラスのnewInstance()メソッドを使用してオブジェクトを作成します
- デシリアライズを使用してオブジェクトを作成する
- コンストラクタークラスのnewInstance()メソッドを使用してオブジェクトを作成します
始めましょう。
「new」キーワードを使用してオブジェクトを作成する
Javaでプログラミングしているときに、間違いなく「新しい」キーワードに出くわしたかもしれません。これは、動的にメモリが割り当てられるオブジェクトを作成するために使用されるキーワードです。つまり、これらのオブジェクトへのメモリは実行時に割り当てられます。また、この動的割り当ては、オブジェクトの作成中にほとんどの場合必要になります。したがって、この方法は他の方法よりも頻繁に使用されます。
構文 :ClassName ObjectName = new classConstructor()
public class ObjectCreation {String FirstString = 'Hello World' public static void main(String [] args){ObjectCreation obj = new ObjectCreation()System.out.println(obj.FirstString)}}
出力- こんにちは世界
Javaでオブジェクトを作成するこのメソッドは、クラスに複数のクラスがある場合、必要なクラスの任意のコンストラクターで使用できます。 ビルダー 。
clone()メソッドを使用してオブジェクトを作成する
作成するオブジェクトが既存のオブジェクトのコピーである必要がある場合はどうなりますか ?その場合、clone()メソッドを使用できます。 clone()はObjectクラスの一部ですが、保護されたメソッドであるため、直接使用することはできません。
clone()メソッドは、Cloneableインターフェイスを実装して処理した後にのみ使用できます。CloneNotSupportedException。
クラスMessageはCloneableを実装します{StringFirstString Message(){this.FirstString = 'Hello World'} public Object clone()throws CloneNotSupportedException {return super.clone()}} public class ObjectCreation {public static void main(String [] args) throws CloneNotSupportedException {Message FirstObj = new Message()System.out.println(FirstObj.FirstString)Message SecondObj =(Message)FirstObj.clone()System.out.println(SecondObj.FirstString)SecondObj.FirstString = '世界へようこそプログラミングの 'System.out.println(SecondObj.FirstString)System.out.println(FirstObj.FirstString)}}
出力-
こんにちは世界
こんにちは世界
プログラミングの世界へようこそ
上記のプログラムでは、既存のオブジェクトのコピーを作成しました。両方を確認するには 同じメモリ位置を指していません。2番目のオブジェクトの「FirstString」の値を変更してから、両方のオブジェクトの値を出力することが不可欠でした。
クラスClassのnewInstance()メソッドを使用してオブジェクトを作成します
このメソッドは、オブジェクトの作成にはあまり使用されません。オブジェクトを作成するこのメソッドは、クラス名と デフォルトのコンストラクタ 本質的に公開されています。このメソッドを使用してオブジェクトを作成するには、3つの例外を処理する必要があります
ClassNotFoundException- この例外は、JVMが引数として渡されたクラスを見つけることができない場合に発生します。
InstantiationException- この例外は、指定されたクラスにデフォルトのコンストラクターが含まれていない場合に発生します。
IllegalAccessException- この例外は、指定されたものにアクセスできない場合に発生します クラス 。
これらの例外に対処したら、準備は完了です。
class ObjectCreation {String FirstString = 'Hello World' public static void main(String [] args){try {Class Message = Class.forName( 'ObjectCreation')ObjectCreation obj =(ObjectCreation)Message.newInstance()System.out.println (obj.FirstString)} catch(ClassNotFoundException e){e.printStackTrace()} catch(InstantiationException e){e.printStackTrace()} catch(IllegalAccessException e){e.printStackTrace()}}}
出力- こんにちは世界
デシリアライズを使用してオブジェクトを作成する
Javaでは、シリアル化はオブジェクトの現在の状態をバイトストリームに変換するために使用されます。バイトストリームを使用してオブジェクトを再作成する場合、逆シリアル化は正反対です。シリアル化のプロセスでは、Serializableインターフェースを実装する必要があります。このメソッドを使用してオブジェクトを作成するには、例外処理を実行する必要があります。
ObjectInputStream objectInputStream = new ObjectInputStream(inputStream)Classname object =(classname)objectInputStream.readObject()
コンストラクタークラスのnewInstance()メソッドを使用してオブジェクトを作成します
オブジェクトの作成に使用したクラスClassのnewInstanceメソッドを見ました。同様に、クラスコンストラクターも、オブジェクトの作成に使用できるnewInstance()メソッドで構成されています。他の人は、このメソッドの助けを借りてコンストラクターをデフォルトにすることができます。 パラメータ化されたコンストラクタ 。
importjava.lang.reflect。* public class ObjectCreation {private String FirstString = 'Hello World' ObjectCreation(){} public void changeMessage(String message){this.FirstString = message} public static void main(String [] args){ try {コンストラクタコンストラクタ= ObjectCreation.class.getDeclaredConstructor()ObjectCreation objectCreation =コンストラクタ.newInstance()objectCreation.changeMessage( 'プログラミングの世界へようこそ')System.out.println(objectCreation.FirstString)} catch(Exception e){ e.printStackTrace()}}}
出力-
プログラミングの世界へようこそ
これらは、でオブジェクトを作成する5つの異なる方法です。 いくつかは他より頻繁に使用されます。それぞれの方法には、独自の長所と短所があります。結局のところ、選択はあなた次第です。
Javaは興味深い言語ですが、基本が明確でない場合は注意が必要です。キックスタートするには、Javaテクノロジに関連するすべてのスキルを学習し、習得するために、 そしてあなたの中でJava開発者を解き放ちます。
javaはdoubleを整数に変換します
質問がありますか?この「Javaのオブジェクト」の記事のコメントセクションでこれについて言及してください。できるだけ早くご連絡いたします。