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

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

高洛峰
高洛峰オリジナル
2017-01-17 16:43:241427ブラウズ

理論的には、Object クラスはすべてのクラスの親クラスです。つまり、直接的または間接的に java.lang.Object クラスを継承します。すべてのクラスは Object クラスから継承するため、extends Object キーワードは省略されます。
このクラスには主に次のメソッドがあります: toString()、getClass()、equals()、clone()、finalize() の中で、toString()、getClass()、equals が最も重要なメソッドです。

注:

Object クラスの getClass()、notify()、notifyAll()、wait() およびその他のメソッドは最終型として定義されているため、オーバーライドできません。

getClass() メソッドは書き換えられません。呼び出された場合は、通常、getClass().getName() メソッドと組み合わせて使用​​されます。特定のオブジェクトは特定の出力モードを提供します。この型が文字列または文字列連結に変換されると、オーバーライドされた toString() メソッドが自動的に呼び出されます。

public ObjectInstance{
public String toString(){
 return "在"+getClass().getName()+"重写toString()方法"
}
public static void main(String arg[]){
  System.out.println(new ObjectInstance());
}
}


equals()メソッド;

class V {
}
public class OverWriteEquals{
  public static void main(String args[]){
    String s1="123";
    String s2="123";
    System.out.println(s1.equals(s2));
    V v1= new V();
    V v2= new V();
    System.out.println(v1.equals(v2));
  }
}

出力結果:

run:
true
false
BUILD SUCCESSFUL (total time: 0 seconds)

この例からわかるように、比較のためにカスタムクラスでequals()メソッドを使用すると、falseが返されます。 equals メソッドのデフォルトの実装は「==」演算子で、オブジェクトの内容を比較するのではなく、2 つのオブジェクトの参照アドレスを比較します。したがって、2 つのオブジェクトの内容を実際に比較したい場合は、カスタム クラスの equals() メソッドをオーバーライドする必要があります。

Java のオブジェクト クラスの詳細な紹介と関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。