构造函数是在java中继承的吗?

时间:2018-04-17 06:38:39

标签: java

我们知道super()方法基本上用于访问超类构造函数,这只能通过使用extend关键字来促进继承概念,所以我们怎么能说构造函数不是继承的?。

3 个答案:

答案 0 :(得分:2)

正如Java doc所说,

  

子类从其超类继承所有成员(字段,方法和嵌套类)。 构造函数不是成员,因此它们不是由子类继承的,但是可以从子类调用超类的构造函数。

here中提取,请阅读更多内容:

答案 1 :(得分:1)

构造函数是一个代码块,允许您创建类的对象,并且与类具有相同的名称,没有显式的返回类型。

每当一个类(子类)扩展另一个类(父类)时,子类以超类的形式继承变量和方法的状态和行为,但它不继承超类的构造函数

原因:

  • 构造函数是特殊的,与类名具有相同的名称。
  • 无法将构造函数作为方法调用。在创建类的对象时调用它
  • 父类构造函数不会在子类中继承,这就是如果没有对super或this的显式调用,则会在子类构造函数中自动添加super()。

答案 2 :(得分:0)

我认为您所谈论的内容称为构造函数链接。现在什么是构造函数链接

  

构造函数链接通过使用继承来实现。一个子类   构造方法的第一个任务是调用它的超类'构造函数   方法。这可确保创建子类对象   在继承中初始化它上面的类   链

     

继承链中可能有任意数量的类。一切   构造函数方法将调用链直到顶部的类   已达到并初始化。然后下面的每个后续课程都是   初始化为链回归到原始子类。   此过程称为构造函数链接。

     

源 - (https://www.thoughtco.com/constructor-chaining-2034057