簡體   English   中英

在我的例子中,從子類中調用父抽象類中的函數

[英]Invoke function in parent abstract class from child class in my case

我有一個抽象類:

public abstract class Parent{

    public void cook(){
        DoSomething(); //call abstract method
    }

    protected abstract void DoSomething();

}

我有一個具體的類,它上面提到了上面的抽象類:

public Child extends Parent{
   private Toy toy;

   public void initToy(){
      toy.setOnPlayListener(new OnPlayListener() {
            @Override
            public void onPlay() {
                //How to call parent class cook() method here?
            }
        });
   }

   @Override
   public void DoSomething(){...}
}

我想在Child類的OnPlayListener()的覆蓋onPlay()函數中OnPlayListener() 當前Child實例下Parent類的cook()方法。 怎么做?

========更新=======

謝謝你的回答,現在我想說清楚, Child.super.cook()Child.this.cook()是一回事嗎?

您需要獲取封閉類實例的超類

@Override
public void onPlay() {
    Child.super.cook();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM