カプセル化とは、オブジェクトの情報をオブジェクト内に隠し、外部プログラムがオブジェクト内のプロパティやメソッドに直接アクセスすることを禁止することです。
1. 基本型は値渡しのみが可能で、各基本型に対応するカプセル化クラスは参照渡しされます。
2. パフォーマンスの観点から、Java の基本型はスタック上に作成されますが、すべてのオブジェクト型はヒープ上に作成されます (オブジェクトへの参照はスタック上に作成されます)。たとえば、Integer i=new Integer(10); ここで、new Integer() はヒープ上に作成され、その参照 Integer i はスタック上にあります。 カプセル化されたクラスの登場により、valueOf()、toString() など、基本型では使用できないいくつかのメソッドをより便利に使用できるようになります。また、値の代わりに int オブジェクトへの参照を渡したい場合は、ラッパー クラスのみを使用できます。
スタックにメモリを割り当てる場合の呼び出し効率は、ヒープにメモリを割り当てる場合とは大きく異なります。スタックへのメモリの割り当ては効率的ですが、スタックへのメモリの割り当てにはメモリ リークの問題があります。 (これは基本的に凡庸なプログラマーには解決できない問題です...) Java は非常に天才的な方法を使用して、ヒープ上のメモリ割り当ての効率を向上させます。 それにもかかわらず、Java は依然として遅いです。彼が C++ ほど速くなるとは考えにくいですが、いつか仮想マシンがマシンコードと同じくらい速くなると約束しています。
JDK5.0 は自動的にパッケージ化できます。つまり、基本データをカプセル化されたクラスに自動的にパッケージ化できます。基本的なデータ型の利点は、高速であることです (カプセル化されたクラスの目的は、これに含まれません)。主に処理を改善するためのものです データを変換する方法は数多くあり、それらは簡単に使用できます。
もちろん、カプセル化された型の転送は参照によって行われます。たとえば、
Integer a = new Integer(1);
は、整数型の参照 a がメモリの一部を参照し、このメモリ内のデータは 1 であり、a に格納されるのはこのメモリ部分の参照 (アドレス) )、 を他のメソッドまたはオブジェクトに渡すとき、 a の参照が渡されます。
型間の変換:
String b = "123456"; int c = Integer.parseInt(b);
は、文字列 123456 を整数に変換することを意味します。ここで、 parseInt は静的メソッドであり、直接使用できます
もう 1 つのポイントは、場合によっては、コレクション List などのカプセル化クラスが必要であることです。オブジェクト、つまり Object のみを追加できるため、数値を直接格納することはできません。たとえば、
List list = new ArrayList(); list.add(new Integer(1)); list.add(new Integer(2)); list.add(new Integer(3)); list.add(new Integer(4));
JDK5.0 では、数値をカプセル化タイプのオブジェクトにカプセル化してから、List に格納する必要があります。この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
ユーザーの都市と地理的位置を取得するための JavaScript JavaScript 呼び出しモードとこのキーワード バインディングの関係 JavaScript 呼び出しモードとこのキーワード バインディングの関係以上がJavaでのカプセル化の実装手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。