超级关键词的意义

Java中super关键字的含义和用法是什么?

Solutions Collecting From Web of "超级关键词的意义"

super是Java中的一个关键字。 它指的是直接的父母财产。

 super() //refers parent's constructor super.getMusic(); //refers to the parent's method 

– 阅读更多super

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()将调用父类的构造函数,并且只能从子类的构造函数中调用(如果我错了的话,有人会纠正我)。

从另一个类inheritance时,可能需要从inheritance的类中覆盖方法。

当你这样做的时候,你有时需要首先调用被压抑的方法,然后再做一些事情。 在这种情况下,你写super();

这里有几个关于inheritance的链接,在编程中非常重要: Wiki的inheritance

甲骨文的简短说明

super关键字不是特定于Android的。 这是一个属于OOP的概念,代表了你使用它的类的父类。 在Android中,当您创build自己的Activity或组件时,它通常是有用的,并且可以在实现您的Android之前调用默认行为。

例如,当你重写Activity onPause,Resume,onStop等…方法时,必须先调用super方法。

欲了解更多信息,我build议你看看面向对象的编程书籍,以及Java程序devise书籍,这些书籍应该更深入地讨论这个问题。

  1. 简单地说,因为名字暗示“超级”指向超类,即直接父级。

  2. 它是为了获得超类的直接实例,可以是方法或variables。

  3. 正如我指出的超级可以用来检索直接父类的情况下多级inheritance的情况下,如果你想获得极端的父类的实例,它将无法正常工作。

  4. 只有父类和子类具有相同名称和types的方法时才需要超类

  5. 你可能知道构造函数会被编译器自动创build,一旦声明了类的方法super()将被编译器内部的构造函数创build为第一个语句……

希望它帮助你…有美好的一天(S)