1

だから、私は親クラスとして機能する抽象クラスを持っています。これが私がしたいことです。

抽象クラス:

public void run(){
    while(!booleanStatement){
        //do specific stuff here
    }
}

子クラスで:

public class extends parentClass{
public void run(){
    //do child stuff here effected by the while loop above
}

これを実現する方法はありますか?スーパー()多分?

4

3 に答える 3

11

もちろん。追加の抽象メソッドを定義するだけです。

public final void run(){
  while(!booleanStatement){
    doRun();
  }
}

public abstract void doRun();

このシナリオでは、サブクラスは上書きできず、ループ内で作業を行う実装を提供するようにrun()強制されます。doRun()

于 2012-10-18T15:21:32.337 に答える
1

抽象クラスの場合:

public void run(){
    while(!booleanStatement){
        doStuff();
    }
}

protected abstract void doStuff();

子クラスの場合:

public class extends parentClass{
protected void doStuff() {
    // do something
}

このようなことで十分です。

于 2012-10-18T15:23:30.150 に答える
1

はい、呼び出すsuper.run()と親のメソッドが実行されます。

したがって、次のようにして拡張できます。

public void run() {
    super.run();
    //do child stuff
}
于 2012-10-18T15:20:45.390 に答える