구조에서 다음과 유사한 간단한 Java 코드가 있습니다.
abstract public class BaseClass {
String someString;
public BaseClass(String someString) {
this.someString = someString;
}
abstract public String getName();
}
public class ACSubClass extends BaseClass {
public ASubClass(String someString) {
super(someString);
}
public String getName() {
return "name value for ASubClass";
}
}
BaseClass
각각 getName()
자체 방식 ( 템플릿 메서드 패턴 ) 으로 메서드를 구현하는의 하위 클래스가 많이 있습니다.
이것은 잘 작동하지만 하위 클래스에 중복 생성자가있는 것을 좋아하지 않습니다. 타이핑이 더 많고 유지하기가 어렵습니다. BaseClass
생성자 의 메서드 서명 을 변경하려면 모든 하위 클래스를 변경해야합니다.
하위 클래스에서 생성자를 제거하면 다음과 같은 컴파일 타임 오류가 발생합니다.
Implicit super constructor BaseClass() is undefined for default constructor. Must define an explicit constructor
내가하려는 것이 가능합니까?