我们可以在Java接口中定义构造函数吗?
不,您不能在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: expectedpublic abstract MyInterface();
^
1 error
简而言之,它不接受接口中没有返回类型的方法。如果将返回类型添加到MyInterface()
方法中,则将其视为常规方法,并且程序将编译而没有错误。
public interface MyInterface {public abstract void MyInterface();
public static final int num = 10;
public abstract void demo();
}
以上是 我们可以在Java接口中定义构造函数吗? 的全部内容, 来源链接: utcz.com/z/340992.html