我们可以在 Java 的接口中定义构造函数吗?
java 8object oriented programmingprogramming
不可以,Java 中的接口中不能有构造函数。
从 Java7 开始,只能有公共、静态、最终变量和公共、抽象方法。
从 Java8 开始,接口允许默认方法和静态方法。
从 Java9 开始,接口允许私有和私有静态方法。
此外,您在接口中定义的所有方法(除上述方法外)都应由另一个类实现(重写)。但是,您不能在 Java 中覆盖构造函数。
如果您尝试在接口中定义构造函数,则会产生编译时错误。
示例
在下面的 Java 程序中,我们尝试在接口中定义构造函数。
public interface MyInterface{ public abstract MyInterface(); /*{ System.out.println("This is the construction of the interface"); }*/ public static final int num = 10; public abstract void demo(); } 前>编译时错误
编译时,上述程序生成以下错误
输出
MyInterface.java:2: error: expected public abstract MyInterface(); ^ 1 error简而言之,它不接受接口中没有返回类型的方法。如果您将返回类型添加到 MyInterface() 方法,则它将被视为正常方法,并且程序将编译而不会出现错误。
public interface MyInterface { public abstract void MyInterface(); public static final int num = 10; public abstract void demo(); }
相关文章