ホームページ >Java >&#&チュートリアル >Java プログラミングにおけるオブジェクト クラスの概要
Object クラスは java.lang パッケージにあり、Java のすべてのクラスはそこから拡張されます。
Java クラスを定義するときに親クラスを明示的に指定しない場合、デフォルトで Object クラスが継承されます。例:
public class Demo{ // ... }
は、実際には次のコードの省略形です:
public class Demo extends Object{ // ... }
Java では、オブジェクト配列か基本型配列かを問わず、数値、文字、ブール値などの基本型のみがオブジェクトではありません。オブジェクトクラスから継承されます。
Object クラスはルート クラスであるため、これらのメソッドは通常、それぞれの特定の機能を実装するためにオーバーロードまたはオーバーライドされます。
equals() メソッド
Object クラスの equals() メソッドは、オブジェクトが別のオブジェクトと同等かどうかを検出するために使用されます。構文は次のとおりです。
public boolean equals(Object obj)
例:
obj1.equals(obj2);
Java では、データの基本的な意味。等価は 2 つのデータの値が等しいことを示します。 equals() と "==" による比較では、参照型データは参照、つまりメモリ アドレスを比較し、基本データ型は値を比較します。
注:
equals() メソッドは参照型のみを比較でき、「==」は参照型と基本型を比較できます。
equals() メソッドを使用して比較する場合、クラス File、String、Date、およびラッパー クラスでは、参照が同じインスタンスへのものであるかどうかを考慮せずに型と内容が比較されます。
「==」で比較する場合、シンボルの両側のデータ型が一致している必要があります(自動変換されたデータ型を除く)。そうでない場合はコンパイルエラーが発生します。ただし、equals メソッドで比較される 2 つのデータは一致していれば十分です。参照型であること。
hashCode()メソッド
ハッシュコード(hashCode)とは、オブジェクトから一定のアルゴリズムに従って取得される値のことです。 x と y が異なるオブジェクトの場合、x.hashCode() と y.hashCode() は基本的に同じではありません。
hashCode() メソッドは、主にコレクション内のクイック検索やその他の操作を実装するために使用され、オブジェクトの比較にも使用できます。
Java では、hashCode の規則は次のとおりです:
同じアプリケーションの実行中、同じオブジェクトに対して hashCode() を呼び出すと、同じ整数の結果が返されなければなりません - ただし、equals() によって比較された情報がまったくない場合に限ります。変更されました。同じアプリケーションが異なる実行期間で取得した呼び出し結果については、一貫している必要はありません。
equals() メソッドによって 2 つのオブジェクトが等しいとみなされる場合、両方のオブジェクトに対して hashCode() を呼び出すと、同じ整数の結果が得られる必要があります。
equals() メソッドによって 2 つのオブジェクトが等しくないとみなされた場合、2 つのオブジェクトに対して hashCode() を呼び出しても、異なる整数の結果が生成される必要はありません。ただし、プログラマは、オブジェクトごとに異なる整数の結果を生成すると、hashTable (コレクション フレームワークのクラスについては後で学習します) の効率が向上する可能性があることに注意する必要があります。
簡単に言えば、2 つのオブジェクトが同じである場合、それらの hashCode 値は同じである必要があります。2 つのオブジェクトが同じ hashCode 値を持っている場合、それらは必ずしも同じである必要はありません。 Java 仕様によれば、通常、equals() メソッドをオーバーライドすると、hashCode() メソッドもオーバーライドされる必要があります。
toString() メソッド
toString() メソッドは、Object クラスで定義されるもう 1 つの重要なメソッドです。構文は次のとおりです。
public String toString()
戻り値は、次の情報を記述するために使用されます。現在のオブジェクト。 Object クラスに実装された toString() メソッドは、現在のオブジェクトの型とメモリ アドレス情報を返しますが、一部のサブクラス (String、Date など) で書き換えられており、ユーザー定義で書き換えることもできます。必要に応じて toString() メソッドを使用して、より適切な情報を返します。
オブジェクトの toString() メソッドを明示的に呼び出すことに加えて、String を他のタイプのデータに接続するときに toString() メソッドが自動的に呼び出されます。
上記のメソッドは Java でよく使用されます。ここでは、Object クラスとその他のクラスについて簡単に説明します。詳細については、Java API ドキュメントを参照してください。
Java プログラミングのオブジェクト クラスに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。