Java抽象类、接口能否有构造方法

构造方法作用:对类进行初始化

结论:Java中接口不能有构造方法,抽象类可以有构造方法

原因:

一、接口可以理解为“完全抽象类”,接口中的方法默认被 public 、abstract 修饰,不能有方法体,所以接口中不能有构造方法。

二、抽象类可以有构造方法

  1. 抽象类中可以有抽象方法和普通方法,
  2. 普通方法可以有方法体,构造方法是没有返回值的方法,在new实例化对象时被调用。所以抽象类可以有构造方法。

补充:

类会有一个默认无参构造方法,就算编码中没有写这个无参构造方法,在编译时也会被加到编译文件中。

抽象类也是类的一种,所以就算没写构造方法,抽象类也是有这个默认无参构造方法的。

参考文献:https://www.geeksforgeeks.org/why-java-interfaces-cannot-have-constructor-but-abstract-classes-can-have/

原文地址:https://www.cnblogs.com/chengho/p/14721842.html