构造方法作用:实例化对象时通过构造方法初始化成员变量(即:对类进行初始化)
结论:Java中接口不能有构造方法,抽象类可以有构造方法
原因:
一、接口可以理解为“完全抽象类”,接口中的方法默认被 public 、abstract 修饰,不能有方法体,所以接口中不能有构造方法。
二、抽象类可以有构造方法
补充:
类会有一个默认无参构造方法,就算编码中没有写这个无参构造方法,在编译时也会被加到编译文件中。
抽象类也是类的一种,所以就算没写构造方法,抽象类也是有这个默认无参构造方法的。
参考文献:
https://www.geeksforgeeks.org/why-java-interfaces-cannot-have-constructor-but-abstract-classes-can-have/
原文:https://www.cnblogs.com/chengho/p/14721842.html