Construtor Java: Herdar
Eu quero ter um construtor com um argumento que é herdado por todas as classes filho automaticamente, mas o Java não me deixa fazer isso
class A {
public A(int x) {
// Shared code here
}
}
class B extends A {
// Implicit (int x) constructor from A
}
class C extends A {
// Implicit (int x) constructor from A
}
Eu não quero ter que escreverB(int x)
, C(int x)
, etc. para cada classe filha. Existe uma maneira mais inteligente de abordar esse problema?
Solução # 1. Fazer uminit()
método que pode ser chamado após o construtor. Isso funciona, embora, para meu design específico, eu queira exigir que o usuário especifique determinados parâmetros no construtor que são validados em tempo de compilação (por exemplo, Not through varargs / reflection).