Java 在Eclipse中使用字段生成的构造函数中,super关键字的用途是什么?
就像下面的例子。我知道在这种情况下可以删除super关键字。但我不明白为什么Eclipse总是默认生成这个关键字。除非SuperExample类扩展了另一个类,否则这个关键字应该没有任何意义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
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)不是类的构造函数。请参阅此以了解更多信息-