gpt4 book ai didi

java - 无法理解JAVA代码行

转载 作者:行者123 更新时间:2023-12-01 13:58:48 26 4
gpt4 key购买 nike

我是 Android 开发和 Java 新手。我不明白这行代码的实际含义以及它的意义是什么...请帮忙...

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

最佳答案

这意味着,onCreate是父类(super class)中的一个方法,即您当前类正在扩展的类。

@Override 是一个注解,它确保 onCreate 位于父类(super class)中,否则编译器会报错。此注释可确保您不会弄乱方法的语法,并且在运行时很难找到问题所在。

super.onCreate(savedInstanceState);

该语句首先调用父类(super class)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();
}

}

现在,Apps是一个子类,SuperClass是Apps扩展的类,所以这是父类(super class)。

现在,该程序的进一步输出将是:

Super
Sub

希望这能解释对 super.onCreate() 的调用;

现在假设您在 Apps 中将 onCreate 定义为:

public void onCreate(int h)

没有@Override编译器不会提示,输出将是

Super

所以你必须重新检查你的代码,或者调试为什么 Sub 没有打印。

最后一件事,这些是 OOP 和 Java 的基础知识,我认为您应该在开始使用 Java 编码之前首先阅读这些概念。

关于java - 无法理解JAVA代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com