super
Java中关键字的含义和用法是什么?
5 回答
super
是 Java 中的关键字。它指的是直系父母的财产。
super() //refers parent's constructor
super.getMusic(); //refers to the parent's method
super
关键字引用Object
当前对象的父类(隐式)的实例。当您覆盖子类中的方法但仍想调用父类中定义的方法时,这很有用。例如:
class ClassOne {
public say() {
System.out.println("Here goes:");
}
}
class ClassTwo extends ClassOne {
public say() {
super.say();
System.out.println("Hello");
}
}
现在,new ClassTwo().say()
将输出:
Here goes:
Hello
正如其他人提到的,super()
将调用父类的构造函数,并且只能从子类的构造函数中调用(如果我错了,请纠正我)。
super 关键字并非特定于 Android。它是属于OOP的一个概念,代表你使用它的类的父类。在 Android 中,当您创建自己的 Activity 或组件时,它最有用,并允许您在实现之前调用默认行为。
例如,当您覆盖 Activity onPause、on Resume、onStop 等方法时,必须先调用超级方法。
有关更多信息,我建议您查看面向对象编程的书籍以及 Java 编程书籍,它们应该更深入地涵盖该主题。
当您从另一个类继承时,您可能希望从您继承的类中覆盖一个方法。
这样做时,您有时需要先调用被覆盖的方法,然后再执行某些操作。在这种情况下,你写 super();
这里有几个关于继承的链接,在编程中非常重要: Wiki's Inheritance
简单地说,顾名思义,“super”指向超类,即直接父类。
它旨在获取超类的直接实例,它可以是方法或变量。
正如我指出的那样,在多级继承的情况下,super 可用于检索直接父类的实例,如果您试图获取极端父类的实例,它将不起作用。
仅当父类和子类具有相同名称和类型的方法时才需要 super
您可能知道,一旦声明类,编译器将自动创建构造函数,super() 将由编译器在构造函数中作为第一条语句创建......
希望对您有所帮助...祝您有美好的一天(S)