Java言語は典型的なオブジェクト指向のプログラミング言語ですが、8つの基本的なデータ型はオブジェクト指向のプログラミングをサポートしていません。 それらは、人間の深く根ざした習慣に対応するためにのみ使用され、実際に定期的なデータ処理を簡単かつ効果的に実行できます。
たとえば、オブジェクト指向のテクノロジーを使用するこの実践は、すべての参照タイプのデータがオブジェクトクラスの特性を継承する場合があります(多くの場合、必要なものがあります)。 Objectクラスで十分ですが、基本的なデータ型を文字列型に変換するのははるかに面倒です。この問題を解決するために、Javaは、ラッパークラスと呼ばれる各基本データ型に対応するクラスを設計し、教科書はオーバーレイクラスまたはデータ型クラスとも呼ばれます。
各ラッパーオブジェクトは、対応する基本タイプのデータをカプセル化し、他の便利な方法を提供できます。ラッパーオブジェクトが作成されると、そのコンテンツ(カプセル化された基本タイプデータ値)を変更できません。
基本的なタイプと対応するパッケージクラスは、互いに置き換えることができます。
基本的なタイプから対応するパッケージクラスへの変換は、整数クラスのオブジェクトにintをラッピングするなど、ボクシングと呼ばれます。
ラッパークラスの対応する基本タイプへの変換は、整理型のボクシングと呼ばれます。たとえば、整数クラスのオブジェクトを再びINTに単純化します。
パッケージングアプリケーション
8つのパッケージクラスの使用は比較的類似しており、以下は一般的なアプリケーションシナリオです。
1)INTと整数の間の相互変換を実装します
整数は、整数クラスコンストラクターを介してボックス化でき、整数は整数クラスのintvalueメソッドを介してボックス化されません。例えば:
Public Class demo {string [] args){int m = 500; println( "n =" + n);
実行結果:
n = 500OBJはOBJ1に相当しますか?真実
2)文字列を整数に変換します
整数クラスには、文字列を整数に変換する静的paseInt()メソッドがあり、構文:
parseint(string s、int radix);
sは変換される文字列で、RADIXはバイナリでオプションで、デフォルトは小数になります。
次のコードでは、どのような文字列を整数に変換できるかがわかります。
public class demo {public static void main(string [] args){string str [] {"123"、 "123abc"、 "abc123"、 "abcxyz"}; = integer.parseint(str1、10); ";}}}}
実行結果:
123は整数に変換できます123123ABCは整数に変換できませんabc123を整数に変換できませんabcxyzは整数に変換できません
3)整数を文字列に変換します
整数クラスには、整数を文字列に変換する静的なtoString()メソッドがあります。例えば:
public class demo {public static void(string [] args){int m = 500;
実行結果:
S = 500
自動アンボクシングとパッキング
上記のすべての例では、マニュアルアンボクシングと呼ばれるラッパークラスの手動インスタンス化が必要です。 Java 1.5(5.0)は手動でボックス化されていなければなりません。
Java 1.5の後、自動的にボックス化できます。つまり、基本的なデータ型と対応するパッケージクラスを変換する場合、システムは自動的に実行され、プログラマーのコードライティングが大幅に促進されます。例えば:
Public Class demo {public static void(string [] args){int m = 500; )integer obj1 = 500;
実行結果:
n = 500OBJはOBJ1に相当しますか?真実
自動アンボックス化と梱包は一般的に使用される機能であり、読者はそれに集中する必要があります。
パッケージには、クラスだけでなく、インターフェイスやその他のパッケージも含まれます。
ディレクトリは "/"を使用して、e:/java/workspace/demo/bin/p1/p2/test.javaなどの階層関係を表します。
たとえば、パッケージは階層的な関係を表します。
パッケージを実装する方法
たとえば、パッケージキーワードを介してパッケージを宣言できます。
パッケージP1.P2;
たとえば、パッケージステートメントはすべてのステートメントの前に配置する必要があります。
パッケージP1.p2;パブリッククラステスト{public test(){system.out.println( "私はテストクラスのコンストラクターです");
テストクラスがP1.P2パッケージにあることを示します。
パッケージコール
Javaでは、他のパッケージでクラスを呼び出す2つの方法があります。
1)各クラス名の前に完全なパッケージ名を追加する
プログラムの例:
Public Class Demo {public static void main(string [] args){java.util.date = new java.util.date();
実行結果:
水曜日03 11:20:13 CST 2014
2)インポートステートメントを通じてパッケージにクラスを紹介する
プログラムの例:
Java.util.date; //すべてのクラスをjava.utilパッケージにインポートすることもできます。 (); out.println(今日);
実行結果は上記と同じです。
実際のプログラミングでは、インポートJava.util。*;
クラスパス
クラスをインポートするときは、クラスの絶対的なパスを知っている必要があります。
最初にe:/java/workspace/demo/src/p0/directoryでdemo.javaを作成します(e:/java/workspace/demo/src/はプロジェクトソースファイルのルートディレクトリです)、次のコードを入力します。
パッケージP0; Import P1.P2.test; public class demo {public static void main(string [] args){test obj = new test()};
次に、e:/java/workspace/demo/src/p1/p2ディレクトリでtest.javaを作成し、次のコードを入力します。
パッケージP1.p2;パブリッククラステスト{public test(){system.out.println( "私はテストクラスのコンストラクターです");
ClassPath環境変数を次のように設定します。 e:/java/test.javaまたはtest.classファイルがワークスペース/demo/src/p0/p1/p2/存在するかどうかを確認します/lib/p1/p2/ディレクトリは、両方のディレクトリに存在がない場合、エラーが報告されます。明らかに、Javaはe:/java/workspace/demo/p1/p2/directoryにあります。
ClassPathは、JavacコマンドのClassPathオプションを通じて指定できます。
CMDを開き、Demo.javaファイルが配置されているディレクトリを入力し、Javacコマンドを実行し、以下の図に示すように、classPathをe:/java/workspace/demo/srcに設定します。
Javaプログラムを実行するときは、クラスの絶対パスも知る必要があります。下に:
JavaコマンドとJavacコマンドの実行には、現在のディレクトリを実行する必要があります。
このようにして、Javacは特定のプラットフォームファイルで動作し、コンパイルされたファイルパスを示すプラットフォームコマンドであることを理解できます。 Javaは、クラス操作に点線の説明フォームを使用する仮想マシンコマンドです。つまり、クラスの説明は点線で説明する必要があり、拡張機能を追加してクラス名のケースに注意を払うことはできません。
これらのコマンドは非常に複雑であり、実際の開発にはEclipseの助けが必要です。これは、パッケージを管理し、Eclipseの下でプログラムをコンパイルして実行するのに非常に便利です。 Eclipseは実際にこれらのコマンドを実行します。
パッケージのアクセス許可
公開されているクラス、方法、またはメンバー変数は、任意のパッケージの下で任意のクラスで使用できますが、プライベートとして宣言されたクラス、メソッド、またはメンバー変数は、このクラスでのみ使用できます。
修飾子のないクラス、メソッド、およびメンバー変数は、このパッケージのすべてのクラスでのみアクセスでき、パッケージの外側のクラスにアクセスできません。