Creating Constructor in Abstract Class
Yes, constructors can be created in abstract classes in Java. Abstract classes can have constructors just like any other class. These constructors are typically used to initialize the state of the abstract class and may also initialize fields that are common to all subclasses.
![Creating Constructor in Abstract Class Creating Constructor in Abstract Class](https://www.testpreparationz.com/wp-content/uploads/2024/10/java-abstract-class-1.png)
Table of Contents
Example of Abstract Class with Constructor
```java
public abstract class AbstractClass {
private int value;
// Constructor
public AbstractClass(int value) {
this.value = value;
}
// Abstract method
public abstract void abstractMethod();
// Concrete method
public void displayValue() {
System.out.println("Value: " + value);
}
}
public class ConcreteClass extends AbstractClass {
// Constructor chaining
public ConcreteClass(int value) {
super(value);
}
// Implementation of abstract method
@Override
public void abstractMethod() {
System.out.println("Implementation of abstractMethod");
}
}
```
Summary
In the example above, the `AbstractClass` has a constructor that initializes the `value` field. Subclasses, such as `ConcreteClass`, can extend this abstract class and use the constructor of the abstract class by using `super(value)` to invoke it. This allows for common initialization logic to be shared among subclasses.