不,您不能在Java接口中包含构造函数。
从Java7开始,您只能具有public,static,final变量以及public,abstract方法。
从Java8开始,接口允许使用默认方法和静态方法。
从Java9开始,接口允许私有和私有静态方法。
此外,您在接口中定义的所有方法(上述除外)都应由另一个类(重写)实现。但是,您不能覆盖Java中的构造函数。
仍然,如果您尝试在接口中定义构造函数,则会生成编译时错误。
在下面的Java程序中,我们尝试在接口内定义构造函数。
public interface MyInterface{ public abstract MyInterface(); /*{ System.out.println("This is the constructor 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(); }