用户Rohit Jain commented
要调用任何超类方法,您需要一个实例 类。现在,如果重写克隆方法,则拥有该实例 Object类的超级。因此,您使用
super.clone()
来调用它。
他们如何知道,是否有Java规范或其他什么?
答案 0 :(得分:1)
对不起,如果没有解释,人们会粗鲁无礼。过去比这更好......人们对新的SO成员更好。
要回答你的问题,是的,有一个规范。 Object
是所有其他类的超类,提到in the API和Java Language Specification(JLS)。
作为一名新的Java程序员,当您对课程有疑问时,应该查看API ...这将告诉您需要了解的内容,至少在最初几年使用Java编程时。
Oracle有一个tutorial,它将教你Java的基础知识,网上有很多其他资源。
@Override
的目的不是让你调用超类'方法。它通过确保使用@Override
注释的方法实际覆盖或实现Object
中的超类型或公共方法中的方法来提供编译时安全性的度量,如the API中所述。您可以在不使用@Override
注释的情况下覆盖方法,但是,如果将来重写方法的签名发生更改,您可能不会注意到代码无法按预期工作。在编译时捕获这些问题要好得多。此外,@Override
可帮助其他程序员理解您的代码。