构造函数用于初始化特定类相对于对象的非静态成员。
接口中的构造函数java 中的接口没有构造函数,因为接口中的所有数据成员默认都是public static final ,它们是常量(在声明时赋值)。接口中没有数据成员可以通过构造函数初始化它们。为了调用方法,我们需要一个对象,因为接口中的方法没有主体,所以不需要调用接口中的方法。由于我们无法调用接口中的方法,所以不需要为接口创建对象,并且不需要在其中包含构造函数。示例 1interface addition { int add(int i, int j);}public class test implements addition { public int add(int i, int j) { int k = i+j; return k; } public static void main(string args[]) { test t = new test(); system.out.println("k value is:" + t.add(10,20)); }}
输出k value is:30
类中的构造函数类中构造函数的用途是用于初始化字段,但不要构建对象。当我们尝试创建抽象超类的新实例时,编译器会给出错误。但是,我们可以继承抽象类并使用通过设置其变量来控制其构造函数。示例 2abstract class employee { public string empname; abstract double calcsalary(); employee(string name) { this.empname = name; // constructor of abstract class }}class manager extends employee { manager(string name) { super(name); // setting the name in the constructor of subclass } double calcsalary() { return 50000; }}public class test { public static void main(string args[]) { employee e = new manager("adithya"); system.out.println("manager name is:" + e.empname); system.out.println("salary is:" + e.calcsalary()); }}
输出manager name is:adithyasalary is:50000.0
以上就是为什么在java中接口没有构造函数,而抽象类有构造函数?的详细内容。