0

次のように Activity を拡張するクラスがあります。

public abstract class AndroidGame extends Activity implements Game

このクラスには、次のような onCreate() メソッドがあります。

public void onCreate(Bundle savedInstanceState) {
 // I do stuff here
}

次に、次のように AndroidGame を拡張する別のクラスを作成します。

public class ScatmanNomGame extends AndroidGame {   
    // The loading screen will load all the assets of our game
    @Override
    public Screen getStartScreen() {
        return new LoadingScreen(this);     
    }    
}

わかりました、これが私の質問です。デフォルトの開始アクティビティ (マニフェスト ファイル内) は、最初に ScatmanNomGame をロードするように設定されています。プログラムを起動すると、Launcher アクティビティは ScatmanNomGame になります。ただし、ScatmanNomGame にはonCreate()メソッドがないことに注意してください。このアクティビティ (ScatmanNomGame) を開始するだけで、スーパー クラスのonCreateメソッドが呼び出されますか?

4

1 に答える 1

1

はい、継承を読み取ります。
継承により、サブクラスのオブジェクトはパブリックおよび保護されたフィールドとメソッドを使用/アクセスできます。したがって、サブクラスのメソッドをオーバーライドしていない場合、サブクラスのオブジェクトで同じメソッドを呼び出すと、スーパークラスのメソッドが呼び出されます。

于 2012-07-24T05:41:50.013 に答える