序文
C ++とは異なり、Java言語はシングルルート継承構造言語です。つまり、Javaのすべてのクラスには共通の祖先があります。この祖先はオブジェクトクラスです。
オブジェクトクラスは、祖先クラスとしても知られている神クラスと呼ばれます。 Javaクラスを定義する場合、親クラスが指定されていない場合、オブジェクトクラスはデフォルトで継承されます。 Javaのアップタイプの変換により、オブジェクトクラスの助けを借りて多くの作業を行うことができます。
オブジェクトクラスの構造
オブジェクトクラスの方法
オブジェクトクラスには、getclass()、toString()、equals()など、一般的に使用される方法がいくつかあります。 object.javaでの実装は次のとおりです。(object.javaのソースコードはJavaインストールディレクトリのsrc.zipにあり、そのディレクトリ構造はsrc/java/lang/object.javaです)。
パブリックファイナルネイティブクラス<?
getClass()の場合、実行時にクラスを取得できます。
equals()は通常、比較に使用されます。オブジェクトクラスでは、参照を比較し、参照が同じ場合にのみtrueを返します。しかし、これは私たちが望む比較の場合ではありません。たとえば、文字列の比較は、各文字が同じかどうかを比較することです。次に、equals()メソッドが文字列クラスで書き換えられます。文字列クラスのequals()メソッドの実装は次のとおりです。(string.javaのソースコードはJavaインストールディレクトリのsrc.zipにあり、そのディレクトリ構造はsrc/java/lang/string.java)です。
public boolean equals(object anobject){if(this == anobject){return true; } if(anobject instanceof string){string anothestring =(string)anobject; int n = value.length; if(n == anotherstring.value.length){char v1 [] = value; char v2 [] = anothestring.value; int i = 0; while(n - != 0){if(v1 [i]!= v2 [i])false/; i ++; } trueを返します。 }} false;}文字列の比較は数回行われました。
1.最初に、参照は同じであると判断し、それらが同じ場合、真実を返します。
2。着信オブジェクトが文字列であるかどうかを判断します。文字列でない場合、直接falseを返します。それを比較する必要はありません。犬と人間をどのように比較することができますか。
3.文字列の長さを比較します。 2つの文字列の長さが異なる場合、それらを比較する必要はありません。異なる長さは明らかに異なります。
4.上記の比較が真実でない場合、文字ごとの比較が行われます。
2つのオブジェクトを比較するには、通常、文字列クラスのequals()メソッドのようなequals()メソッドを書き換える必要があります。
3番目のメソッドToString()は、デフォルトでオブジェクトクラスの現在のランタイムクラスとハッシュコードを出力しますが、これは特に役立ちません。自分で書いたクラスの場合、クラス内のすべての属性を出力できます。 toString()メソッドを書き換えた後、System.out.println()を使用してオブジェクト名を渡すことができ、デフォルトでオブジェクトのtoString()メソッドを呼び出すことができます。
初心者として、あなたは常にコードを書き、あなたの印象を深めるために学んだことの多くを記録する必要があります。また、忘れたときに簡単に検索し、ここに記録し、いつでも便利にするために便利にする必要があります。
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。