Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中使用字段生成的构造函数中,super关键字的用途是什么?_Java - Fatal编程技术网

Java 在Eclipse中使用字段生成的构造函数中,super关键字的用途是什么?

Java 在Eclipse中使用字段生成的构造函数中,super关键字的用途是什么?,java,Java,就像下面的例子。我知道在这种情况下可以删除super关键字。但我不明白为什么Eclipse总是默认生成这个关键字。除非SuperExample类扩展了另一个类,否则这个关键字应该没有任何意义 public class SuperExample { private int x; public SuperExample(int x) { super(); this.x = x; } } 默认情况下,每个类都扩展了java.lang.Obj

就像下面的例子。我知道在这种情况下可以删除super关键字。但我不明白为什么Eclipse总是默认生成这个关键字。除非SuperExample类扩展了另一个类,否则这个关键字应该没有任何意义

public class SuperExample {

    private int x;

    public SuperExample(int x) {
        super();
        this.x = x;
    }
}

默认情况下,每个类都扩展了
java.lang.Object
,即使没有指定。如果要在
对象
中完成的构造在
超级示例
中没有完成,那么在
超级示例.超级示例()
中调用
超级()
将确保处理发生

现在,您是对的,在这种情况下,
super()
调用实际上是不必要的,因为
Object
实际上在它自己的构造函数中没有做任何特别的事情。但是您的IDE将插入对
super()
的调用,因为,为什么不呢?包括对
super()
的调用是一种很好的做法,即使超类在其构造函数中没有做任何重要的事情,因为可能在将来的某个时候它会做


在构造函数中自动生成
super()
调用之前,Eclipse需要更努力地检查类是否扩展了
Object
以外的内容。这样做不会伤害任何东西,那么为什么要浪费精力优化它呢?这是主要原因。

默认情况下,每个类都扩展了
java.lang.Object
,即使没有指定。如果要在
对象
中完成的构造在
超级示例
中没有完成,那么在
超级示例.超级示例()
中调用
超级()
将确保处理发生

现在,您是对的,在这种情况下,
super()
调用实际上是不必要的,因为
Object
实际上在它自己的构造函数中没有做任何特别的事情。但是您的IDE将插入对
super()
的调用,因为,为什么不呢?包括对
super()
的调用是一种很好的做法,即使超类在其构造函数中没有做任何重要的事情,因为可能在将来的某个时候它会做


在构造函数中自动生成
super()
调用之前,Eclipse需要更努力地检查类是否扩展了
Object
以外的内容。这样做不会伤害任何东西,那么为什么要浪费精力优化它呢?这是主要原因。

解释得很好!很好的解释!Super(intx)不是类的构造函数。有关更多信息,请参阅本文-Super(intx)不是类的构造函数。请参阅此以了解更多信息-