我是Android開發和Java的新手。我不明白這行代碼實際上意味着,什麼是它的意義......請幫助...無法理解JAVA代碼行
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
我是Android開發和Java的新手。我不明白這行代碼實際上意味着,什麼是它的意義......請幫助...無法理解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();
}
}
現在,應用程序的一個子類和超是由應用程序擴展的類,所以這是超類。
現在,這個計劃的進一步輸出將是:
Super
Sub
希望這說明調用super.onCreate();
現在假設你在應用程序定義的onCreate爲:
public void onCreate(int h)
沒有@Override編譯器不會抱怨,而產量將
Super
所以,你將不得不重新檢查你的代碼,或調試爲什麼Sub不打印。
還有最後一件事,這些是OOP和Java的基礎知識,我認爲在開始使用Java編碼之前,您應該首先閱讀這些概念。
你應該參考[android教程](http://developer.android.com/training/index.html) - 他們真的很好。對於這個特定的情況,你會想參考[this](http://developer.android.com/training/basics/activity-lifecycle/starting.html),但我會讀一切... –