Android 開発と Java は初めてです。このコード行が実際に何を意味し、それが何を意味するのか理解できません...助けてください...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
つまり、onCreate はスーパー クラスのメソッドであり、現在のクラスが拡張しているクラスです。
@Override
onCreate がスーパークラスにあることを保証する注釈です。そうでない場合、コンパイラは文句を言います。この注釈により、メソッドの構文を混乱させず、実行時に問題の場所を見つけるのに苦労することがなくなります。
super.onCreate(savedInstanceState);
このステートメントは、最初にスーパー クラス onCreate を呼び出し、次に続行します。
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 でコーディングを開始する前に、まずこれらの概念について読む必要があると思います。