2013-10-19 85 views
0

我是Android開發和Java的新手。我不明白這行代碼實際上意味着,什麼是它的意義......請幫助...無法理解JAVA代碼行

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

你應該參考[android教程](http://developer.android.com/training/index.html) - 他們真的很好。對於這個特定的情況,你會想參考[this](http://developer.android.com/training/basics/activity-lifecycle/starting.html),但我會讀一切... –

回答

1

這意味着,的onCreate是在超類中的方法,那就是你當前類的擴展類。

@Override是一個註釋,它確保了onCreate在超類中,否則編譯器會報錯。這個註釋可以確保你不會弄亂方法的語法,並且在運行時很難找到問題所在。

super.onCreate(savedInstanceState); 

該語句首先調用超類onCreate,然後繼續。

@Override explained here

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(); 
    } 

} 

現在,應用程序的一個子類和超是由應用程序擴展的類,所以這是超類。

現在,這個計劃的進一步輸出將是:

Super 
Sub 

希望這說明調用super.onCreate();

現在假設你在應用程序定義的onCreate爲:

public void onCreate(int h) 

沒有@Override編譯器不會抱怨,而產量將

Super 

所以,你將不得不重新檢查你的代碼,或調試爲什麼Sub不打印。

還有最後一件事,這些是OOP和Java的基礎知識,我認爲在開始使用Java編碼之前,您應該首先閱讀這些概念。

+0

謝謝噸@Batty。但什麼是OnCreate和SuperClass?什麼是運行時間鬥爭? – Neil

+0

在答案中編輯。 – Batty