El Soumik:
Como en el siguiente ejemplo, he añadido dos métodos overrides build () y buildAdd () en el constructor. Así que se puede hacer esto.
public class createData {
...
public createData(DataAdd dataAdd){
super(dataAdd);
build();
buildAdd();
}
@Override
public void build(){
...
}
@Override
public void buildAdd(){
...
}
}
Pedro Borges :
Asumo sus clases createData
(nombres genéricos en Java deben ser capitalizados por cierto) se extiende algún otro derecho de clase?
Para que quede claro, no se va a añadir las anulaciones en el constructor, que está añadiendo anulaciones en la clase y llamarlos desde el constructor.
Así que sí, se puede hacer eso, incluso se puede hacer:
public class GenericCreateData
{
public GenericCreateData(DataAdd dataAdd)
{
...
build();
buildAdd();
}
public void build()
{
System.out.println("genericBuild");
}
public void buildAdd()
{
System.out.println("genericBuildAdd");
}
}
public class SpecificCreateData extends GenericCreateData
{
public SpecificCreateData(DataAdd dataAdd)
{
super(dataAdd);
}
@Override
public void build()
{
System.out.println("specificBuild");
}
@Override
public void buildAdd()
{
System.out.println("specificBuildAdd");
}
}
llamando a new GenericCreateData(dataAdd)
la salida:
genericBuild
genericBuildAdd
llamando a new SpecificCreateData(dataAdd)
la salida:
specificBuild
specificBuildData
Dado que los métodos se llaman en el tipo de instancia específica