2017-04-04 4 views
0

同時にオーバーライドとオーバーロードの両方を表しますか?クラスB内"super"を使ってオーバーライドするメソッドでOverridenメソッドを呼び出すのですか?コールでオーバーロードしていますか?

public class A{ 
    void someMethod(){ 
    System.out.println("Class A's some method"); 
    } 
} 

class B extends A{ 
    void someMethod(){ 
    super.someMethod(); // does this line reperesnt overloading of super class method?? 
    System.out.println("Class B's some method"); 
    } 
} 
+1

「オーバーロード」が自分自身に答えることを意味するものをGoogleに必要とするだけです...それをやっていない理由は何ですか? – Tom

答えて

4

このコードスニペットでは、メソッドのオーバーロードはありません。オーバーロードは、異なる引数リスト(異なる数の引数または異なるタイプの引数のいずれか)を持つ2つのメソッドが同じ名前を持つ場合に発生します。

そして、オーバーライドは、A - someMethod()と同じシグネチャとアクセスレベルのメソッドを持つクラスBが原因で単純に発生します。そのメソッドのBの実装がAの実装(super.someMethod()を使用して)を実行するかどうかは違いがありません。

+0

私たちは、その動作が過負荷ですか? – vinay

+0

@vinaybayyaramあなたはそれが何を意味するのか分かりませんが、用語のオーバーロードはJavaでは異なる意味を持っています。 – Eran

関連する問題