java抽象类初始化
时间: 2023-11-09 08:59:34 浏览: 68
在Java中,抽象类不能直接实例化,但可以被子类继承和实例化。当子类实例化时,会先调用父类的构造方法来初始化父类的成员变量和方法。
抽象类的构造方法与普通类的构造方法类似,可以有参数和无参数的形式。子类在实例化时,会自动调用父类的无参数构造方法,如果父类没有无参数构造方法,则需要在子类的构造方法中显式地调用父类的构造方法。
以下是一个示例代码,展示了如何在子类中初始化抽象类的成员变量:
```java
abstract class AbstractClass {
protected int number;
public AbstractClass(int number) {
this.number = number;
}
public abstract void abstractMethod();
}
class ConcreteClass extends AbstractClass {
private String name;
public ConcreteClass(int number, String name) {
super(number);
this.name = name;
}
public void abstractMethod() {
System.out.println("Abstract method implementation");
}
}
public class Main {
public static void main(String[] args) {
ConcreteClass obj = new ConcreteClass(10, "Example");
System.out.println(obj.number);
System.out.println(obj.name);
obj.abstractMethod();
}
}
```
输出结果:
```
10
Example
Abstract method implementation
```