Java
 Computer >> コンピューター >  >> プログラミング >> Java

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

  1. Javaの最終クラス

    finalとして宣言されているクラスを使用する主な目的は、クラスがサブクラス化されないようにすることです。クラスがfinalとしてマークされている場合、どのクラスもfinalクラスから機能を継承できません。 public final class Test {    // body of class }

  2. Javaで多重継承がサポートされていない理由

    Javaでは、クラスは複数のクラスを拡張できません。したがって、以下は違法です- 例 public class extends Animal, Mammal{} ただし、クラスは1つ以上のインターフェースを実装できるため、Javaは多重継承の不可能性を取り除くことができます。 この背後にある理由は、あいまいさを防ぐためです。 クラスBがクラスAとクラスCを拡張し、クラスAとCの両方が同じメソッドdisplay()を持っている場合を考えてみます。 現在、Javaコンパイラは、どの表示メソッドを継承するかを決定できません。このような状況を防ぐために、Javaでは多重継承は許可されていません