超级关键字的含义

时间:2011-02-28 11:26:10

标签: java android super

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

5 个答案:

答案 0 :(得分:57)

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

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

- Read More on super

答案 1 :(得分:34)

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

答案 2 :(得分:4)

当您从另一个类继承时,您可能希望覆盖从您继承的类中的方法。

执行此操作时,有时需要首先调用覆盖的方法,然后再执行某些操作。在这种情况下,你写super();

以下是一些关于继承的链接,它在编程中非常重要: Wiki's Inheritance

A short explaination from Oracle

答案 3 :(得分:2)

超级关键字并非特定于Android。 它是属于OOP的概念,表示您使用它的类的父类。在Android中,当您创建自己的Activity或组件时,它最有用,并允许您在实现自己的Activity之前调用默认行为。

例如,在重写Activity onPause,Resume,onStop等方法时,必须先调用超级方法。

有关更多信息,我建议您查看面向对象编程的书籍以及Java Programmation书籍,这些书籍应该更深入地介绍这个主题。

答案 4 :(得分:2)

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

  2. 它意味着获得超类的立即实例,它可能是方法或变量。

  3. 正如我指出的super可用于检索直接父类的实例,以防多级继承,如果您尝试获取极端父类的实例,它将无效。

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

  5. 您可能知道,一旦以相同的方式声明类,编译器将自动创建构造函数。构造函数内部的编译器将创建super()作为第一个语句......

  6. 希望它帮助你...祝你有美好的一天(S)