Javaでラッパークラスが必要なのはなぜですか?
ラッパークラス プリミティブデータ型を含むクラスです ( int、char、short、byteなど) 。つまり、ラッパークラスは、プリミティブデータ型を使用する方法を提供します。 (int、char、short、byteなど)オブジェクトとして 。これらのラッパークラスは、java.utilパッケージに分類されます。 。
ラッパークラスが必要な理由
- ラッパークラスはプリミティブデータ型をオブジェクトに変換します 。メソッドに渡される引数を変更する場合は、オブジェクトが必要です(プリミティブ型は値によって渡されるため) 。
- java.utilパッケージのクラス オブジェクトのみを処理するため、ラッパークラス この場合も役立ちます。
- データ 構造 ArrayListやVectorなどのコレクションフレームワーク オブジェクト(参照型)のみを格納し、プリミティブ型は格納しません。
- オブジェクトは同期をサポートするために必要です マルチスレッド 。
Javaでのラッパークラスの実装
ラッパークラスのオートボクシング
オートボクシングは、プリミティブデータ型を対応するオブジェクトに変換するために使用されます 。
例
public class AutoBoxingTest { public static void main(String args[]) { int num = 10; // int primitive Integer obj = Integer.valueOf(num); // creating a wrapper class object System.out.println(num + " " + obj); } }
出力
10 10
ラッパークラスでの開梱
Unboxingは、Wrapperクラスオブジェクトを対応するプリミティブデータ型に変換するために使用されます。 。
例
public class UnboxingTest { public static void main(String args[]) { Integer obj = new Integer(10); // Creating Wrapper class object int num = obj.intValue(); // Converting the wrapper object to primitive datatype System.out.println(num + " " + obj); } }
出力
10 10
-
Javaの最終クラス
finalとして宣言されているクラスを使用する主な目的は、クラスがサブクラス化されないようにすることです。クラスがfinalとしてマークされている場合、どのクラスもfinalクラスから機能を継承できません。 public final class Test { // body of class }
-
Javaで多重継承がサポートされていない理由
Javaでは、クラスは複数のクラスを拡張できません。したがって、以下は違法です- 例 public class extends Animal, Mammal{} ただし、クラスは1つ以上のインターフェースを実装できるため、Javaは多重継承の不可能性を取り除くことができます。 この背後にある理由は、あいまいさを防ぐためです。 クラスBがクラスAとクラスCを拡張し、クラスAとCの両方が同じメソッドdisplay()を持っている場合を考えてみます。 現在、Javaコンパイラは、どの表示メソッドを継承するかを決定できません。このような状況を防ぐために、Javaでは多重継承は許可されていません