ホームページ  >  記事  >  Java  >  Java の Object クラスの詳細な紹介

Java の Object クラスの詳細な紹介

不言
不言転載
2019-03-13 11:56:033693ブラウズ

この記事では、Java の Object クラスについて詳しく説明します。これには一定の参考価値があります。必要な友人は参照してください。お役に立てば幸いです。

Object クラスは java.lang パッケージにあり、すべての Java クラスの祖先であり、Java のすべてのクラスはそこから拡張されています。

Java クラスを定義するときに親クラスが明示的に指定されていない場合、デフォルトで Object クラスを継承します。例:
##

 public class Demo{
     // ...
 }

は、実際には次のコードの省略形です:
#

public class Demo extends Object{
     // ...
}

Java では、基本型のみがオブジェクトではありません。たとえば、数値、文字、およびブール値はオブジェクトではありません。すべての配列型は、それらの型に関係なく、オブジェクトではありません。オブジェクト配列または基本型配列は Object クラスから継承されます。

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() を呼び出します。 object は、同じ整数の結果を返さなければなりません。ただし、equals() によって比較された情報が何も変更されていないことが条件です。同じアプリケーションが異なる実行期間で取得した呼び出し結果については、一貫している必要はありません。

equals() メソッドによって 2 つのオブジェクトが等しいとみなされる場合、2 つのオブジェクトに対して hashCode() を呼び出すと、同じ整数の結果が得られる必要があります。

equals() メソッドによって 2 つのオブジェクトが等しくないとみなされた場合、2 つのオブジェクトに対して hashCode() を呼び出しても、異なる整数の結果が生成される必要はありません。ただし、プログラマは、オブジェクトごとに異なる整数の結果を生成すると、hashTable (コレクション フレームワークのクラスについては後で学習します) の効率が向上する可能性があることに注意する必要があります。

簡単に言えば、2 つのオブジェクトが同じである場合、それらの hashCode 値は同じである必要があります。2 つのオブジェクトの hashCode 値が同じである場合、必ずしも同じである必要はありません。同じ。 Java 仕様では、通常、equals() メソッドをカバーするものとして hashCode() メソッドもカバーする必要があると規定されています。

toString() メソッド

toString() メソッドは、Object クラスで定義されるもう 1 つの重要なメソッドであり、オブジェクトの文字列表現です。 、構文は次のとおりです:

public String toString()
戻り値は String 型で、現在のオブジェクトの関連情報を記述するために使用されます。 Object クラスに実装された toString() メソッドは、現在のオブジェクトの型とメモリ アドレス情報を返しますが、一部のサブクラス (String、Date など) で書き換えられており、ユーザー定義で書き換えることもできます。 toString() メソッドを使用して、より適切な情報を返します。

オブジェクトの toString() メソッドを明示的に呼び出すだけでなく、String を他の種類のデータに接続するときに toString() メソッドが自動的に呼び出されます。

上記のメソッドは Java でよく使用されます。ここでは、Object クラスとその他のクラスについて知っていただくために簡単に紹介します。詳細な説明については、Java API ドキュメントを参照してください。

以上がJava の Object クラスの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。