我们可以在 Java 的抽象类中定义带参数的构造函数吗?

javaobject oriented programmingprogramming更新于 2025/9/13 3:56:17

是的,我们可以在抽象类中定义带参数的构造函数。

在抽象类中定义带参数的构造函数的条件

  • 我们需要确保扩展抽象类的类具有构造函数,并且可以调用超类的带参数的构造函数。
  • 我们可以在子类中通过使用 super() 调用来调用超类的带参数的构造函数。
  • 如果我们没有在子类构造函数中放置super()调用,则会发生编译时错误。

示例

抽象类 AbstractClassTest {
   AbstractClassTest(int a) { // 参数化构造函数
      System.out.println("抽象类的参数化构造函数 a="+ x);
   }
}
public class Test extends AbstractDemo {
   Test() {
      super(20);
      System.out.println("测试类构造函数");
   }
   public static void main(String[] args) {
      Test obj = new Test();
   }
}

在上面的例子中,我们必须在子类构造函数(Test)中放置 一个 super() 调用 ,否则将发生编译时错误。

输出

抽象类的参数化构造函数 a=20
测试类构造函数

相关文章


有用资源