Javaのすべてのクラスの親--非常に重要なObjectクラスです.
4360 ワード
Javaのすべてのクラスの親--非常に重要なObjectクラスです.
Javaでは、すべてのベースクラスにデフォルトの親があります.それはObjectクラスです.Objectクラスには次のような方法があります
Objectクラスでは、これらの関数を書き換える必要があります.次に、再ロードtoString関数を例に挙げます.
System.out.println()で直接自分の文字列表現を出力できることが分かった.
また、Objectのequals関数は、2つのオブジェクトが同じオブジェクトを参照しているかどうかを判断し、より正確には、変数が参照しているオブジェクトのメモリアドレスが等しいかどうかを比較するのではなく、同じオブジェクトを参照しているかどうかを判断します.
しかし,equals関数を再ロードして,我々の目的を達成することができる(オブジェクトの内容が同じかどうかを判断する).
ここで注意しなければならないのは、「==」も、2つのオブジェクト変数が参照するオブジェクトが同じかどうかを判断することであり、彼らの内容を比較することではありません(または、オブジェクト変数に格納されているのは参照に対応するアドレスであると理解できます).
Javaでは、すべてのベースクラスにデフォルトの親があります.それはObjectクラスです.Objectクラスには次のような方法があります
boolean equals(Object obj);//
final Class<?> getClass();// Object
int hashCode();//
String toString();//
void finalize();//
Object clone();//
Objectクラスでは、これらの関数を書き換える必要があります.次に、再ロードtoString関数を例に挙げます.
System.out.println()で直接自分の文字列表現を出力できることが分かった.
package test;
class A {
int a;
A(){};
public String toString() {
return "This class A of toString function";
}
}
public class Kit {
public static void main(String[] arg) {
A aa = new A();
System.out.println(aa);// This class A of toString function
}
}
また、Objectのequals関数は、2つのオブジェクトが同じオブジェクトを参照しているかどうかを判断し、より正確には、変数が参照しているオブジェクトのメモリアドレスが等しいかどうかを比較するのではなく、同じオブジェクトを参照しているかどうかを判断します.
しかし,equals関数を再ロードして,我々の目的を達成することができる(オブジェクトの内容が同じかどうかを判断する).
ここで注意しなければならないのは、「==」も、2つのオブジェクト変数が参照するオブジェクトが同じかどうかを判断することであり、彼らの内容を比較することではありません(または、オブジェクト変数に格納されているのは参照に対応するアドレスであると理解できます).