は、女の子を私のcoolMethodを確認してください:私のcoolMethodを呼び出して、同じことを行う方法、の完全な私の動物園クラスを拡張javaのこのスーパーキーワードとの違いは何ですか?
package zoo;
public class Zoo {
public String coolMethod() {
return "Wow baby!";
}
}
マイ武クラス、。
package zoo;
public class Moo extends Zoo {
public void useAZoo(){
Zoo z = new Zoo();
System.out.println("A Zoo says: "+ z.coolMethod());
}
public void useMyCoolMethod(){
System.out.println("My cool method says: " + super.coolMethod());
}
public void useMyCoolMethodAgain(){
System.out.println("My cool method says: " + this.coolMethod()+ " (again)");
}
public void inheritMyMethod(){
System.out.println("My inhertied method says: " + coolMethod());
}
}
私のメインは、私のMooクラスの機能を呼び出します。
package javacert1;
import zoo.Moo;
public class Main {
public static void main(String[] args) {
Moo moo = new Moo();
moo.useAZoo();
moo.useMyCoolMethod();
moo.useMyCoolMethodAgain();
moo.inheritMyMethod();
}
}
ご覧のとおり、4回の呼び出しで同じ結果が得られます。私はJavaを学んでいて、 "this"を使った例で練習しましたが、他の場所では "super"の使用を見ていましたので、テストしました。どうしてこれなの? thisとsuperキーワードの主な違いは何ですか?
を呼び出すために使用することができますか?過度に非難されるが、良い本/参照は、私は、「Javaのsuperキーワード」を検索し(http://download.oracle.com/javase/ [キーワードのスーパーを使用する]について言われた:)長い道を行くわけではありませんチュートリアル/ java/IandI/super.html)Javaチュートリアル。なぜ同じ結果が得られるのか: 'coolMethod'を' Moo'に追加し、別の文字列を返すようにしてください。 、私が使用している –
は「SCJPはJava 6の研究ガイドのために」 – overmann