【问题标题】:super() with no arguments in javajava中没有参数的super()
【发布时间】:2014-09-07 15:50:26
【问题描述】:

我正在查看本教程: http://www.developerfeed.com/building-todo-list-app-android-using-sqlite

我不明白的是这段代码:

public Task()
{
    this.taskName=null;
    this.status=0;
}
public Task(String taskName, int status) {
    super();
    this.taskName = taskName;
    this.status = status;
}

为什么需要在这一点上调用 super() ?

编辑:我问的原因是因为我个人认为没有必要把它放在那里。

【问题讨论】:

标签: java android super


【解决方案1】:

没有必要在没有参数的情况下调用 super()。当您调用子类的构造函数时,会自动调用 0 参数超类构造函数。叫不叫都无所谓。

【讨论】:

    【解决方案2】:

    super(), 用于调用父构造函数,我认为你的类不是从某个类扩展的,所以在 JAVA 中纯类,从 Object 扩展。当您调用 super() 时,在这种情况下,您正在调用父构造函数 Object()。 我是你的构造函数public Task(String taskName, int status)你没有调用public Task()你的类调用对象构造函数Object()

    检查这个。 http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

    【讨论】:

      【解决方案3】:

      Super 用于调用父类。当你扩展一个类时,你可以在子类中调用父类的函数或变量。

      例如看看这个伪代码哪个孩子使用了在父类中定义的int

      Public class Child extends Father{
      Int age = 21;
      Int ageDiff = Super.age - age;
      }
      

      您的代码中不需要超级。

      【讨论】:

        【解决方案4】:

        super() 专门调用当前类继承的类的构造函数。

        在这种情况下,对 super() 方法的调用是调用 Object 类的构造函数,所有类都以原始方式继承该构造函数。

        你是对的;在这种特殊情况下,不需要或根本不需要调用 super()。

        使用JFrame类的引用可以很容易地制作一个使用super()的例子。

        public class MyFrame extends JFrame {
        
        public static final String TITLE = "My JFrame";
        
        public MyFrame() {
            //call constructor of super class (JFrame)
            //the String parameter is the title of the frame
            super(TITLE);
        
            //other code here
        }
        
        //assume other methods are here
        }
        

        【讨论】:

          【解决方案5】:

          为什么要在这一点上调用 super()?

          没有这种需要。编译器会默认放入。

          【讨论】:

            猜你喜欢
            • 2023-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-02-10
            • 2018-09-12
            • 2011-04-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多