0

Android 開発と Java は初めてです。このコード行が実際に何を意味し、それが何を意味するのか理解できません...助けてください...

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
4

1 に答える 1

1

つまり、onCreate はスーパー クラスのメソッドであり、現在のクラスが拡張しているクラスです。

@OverrideonCreate がスーパークラスにあることを保証する注釈です。そうでない場合、コンパイラは文句を言います。この注釈により、メソッドの構文を混乱させず、実行時に問題の場所を見つけるのに苦労することがなくなります。

super.onCreate(savedInstanceState);

このステートメントは、最初にスーパー クラス onCreate を呼び出し、次に続行します。

@Override の説明はこちら

class SuperClass
{
    public void onCreate()
    {
    System.out.println("Super");
    }
}

public class Apps extends SuperClass
{
    @Override
    public void onCreate()
    {
    super.onCreate();
    System.out.println("Sub");
    }

    public static void main(String[] args)
    {
    SuperClass supRef = new Apps();
    supRef.onCreate();
    }

}

さて、Apps はサブクラス、SuperClass は Apps で拡張されたクラスなので、これはスーパークラスです。

ここで、このプログラムのさらなる出力は次のようになります。

Super
Sub

これで super.onCreate(); の呼び出しが説明されることを願っています。

ここで、アプリで onCreate を次のように定義するとします。

public void onCreate(int h)

@Override がなければコンパイラは文句を言わず、出力は

Super

したがって、コードを再確認するか、 Sub が出力されない理由をデバッグする必要があります。

最後にもう 1 つ、これらは OOP と Java の基本です。Java でコーディングを開始する前に、まずこれらの概念について読む必要があると思います。

于 2013-10-19T14:28:19.010 に答える