我们可以在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: expected

   public 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

回到顶部