答案是肯定的,Java的一个抽象类中可以有构造函数,抽象类虽然不能够实例化对象,但是子类通过继承抽象类,必然需要实现其中的抽象方法,同时子类也需要实例化对象,这个时候,会调用父类的默认的无参构造方法或者父类写好的有参数的构造方法
有如下例子:
package com.zempty.abstractclass;
public class AbstractDemo01 {
public static void main(String[] args) {
B b = new B("哦");
}
}
abstract class A {
public A () {
System.out.println("抽象类A的构造方法");
}
}
class B extends A {
public B () {
super(); //默认隐式加上这句
System.out.println("继承抽象类A的B类的构造方法");
}
public B (String name) {
super(); //默认隐式加上这句
System.out.println(name);
}
}
输出:
抽象类A的构造方法
哦