我是Android开发和Java的新手。我不明白这行代码究竟意味着什么,它的意义是什么......请帮助......
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
答案 0 :(得分:1)
这意味着,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();
的调用现在假设您将Apps中的onCreate定义为:
public void onCreate(int h)
没有@Override编译器不会抱怨,输出将是
Super
因此,您必须重新检查代码,或调试未打印Sub的原因。
最后一件事,这些是OOP和Java的基础知识,我认为在开始用Java编写代码之前,你应该首先阅读这些概念。