我是 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() 的调用;
现在假设您在 Apps 中将 onCreate 定义为:
public void onCreate(int h)
没有@Override 编译器不会抱怨,输出将是
Super
所以你将不得不重新检查你的代码,或者调试为什么不打印 Sub。
最后一件事,这些是 OOP 和 Java 的基础知识,我认为您应该在开始使用 Java 编码之前先阅读这些概念。