-1

Java での拡張の使用を理解しようとしています。

このコードから:

printMethodeを持つスーパークラスがあります

以下は、printMethod() をオーバーライドするサブクラスと呼ばれるサブクラスです。

public class Subclass extends Superclass {

    // overrides printMethod in Superclass
    public void printMethod() {
        super.printMethod();
        System.out.println("Printed in Subclass");
    }
}
  1. スーパーなしでprintMethodを拡張するために使用できますか?

    @Override 
    public void printMethod() {
        System.out.println("Printed in Subclass");
    }
    
  2. super.printMethod()拡張された printMethod の本体での使用は何ですか?

乾杯

4

3 に答える 3

3

はい。super.printMethod への呼び出しは、親クラスのバージョンを呼び出します。それが適切な場合もあれば、そうでない場合もあります。スーパークラス バージョンを呼び出さなければならない唯一の関数は、コンストラクターです。

于 2013-02-26T22:16:12.517 に答える
2
  1. はい。

  2. printMethod()親クラスのメソッドを呼び出します。クラスに共通の機能がある場合もありますが、各子は特定のことも行う必要があります。この場合、親クラスの共通部分にして、子クラスから super を呼び出すと便利です。

于 2013-02-26T22:16:03.063 に答える
1

ここで、スーパーキーワードは親クラスのメソッドを拡張します...

このようなコード形式がある場合

class grandfather { name() }
class father extends { name() }
class son extends father
{ 
  super.name() 
}

この super.name は、実際にはクラスの祖父から name メソッドを呼び出します...これが役に立てば幸いです

于 2013-02-26T22:23:37.913 に答える