Agooora que fui entender seu problema…
Já testou assim:
[code]public class Malha extends Group <SDEE,SDEE,Regiao>{
public Malha(SDEE root, String idExterno) {
super(root, idExterno);
doIt();
}
private void doIt(){
super.parent.malha.addGroup(this);
}
} [/code]
Fiz uns testes aqui assim, não sei se retrata seu problema 100% mas funcionou aqui, olha:
Pai.java:
[code]public class Pai{
private Pai[] listaDePais;
private int count;
private final int MAX_PAIS = 5;
private String nome;
private int qtdFilhos;
public Pai(String nome, int qtdFilhos){
listaDePais = new Pai[MAX_PAIS];
count = 0;
this.nome = nome;
this.qtdFilhos = qtdFilhos;
}
protected boolean addPai(Pai p){
if(count <= MAX_PAIS){
listaDePais[count++] = p;
System.out.println("Pai adicionado com sucesso");
System.out.println();
return true;
}
System.out.println("Pai nao foi adicionado com sucesso");
return false;
}
public void imprimeLista(){
for(Pai p : listaDePais){
System.out.println(p);
}
}
public String getNome(){
return nome;
}
public int getQtdFilhos(){
return qtdFilhos;
}
public String toString(){
return "{Nome - "+ getNome() + ", Quant Filhos - " + getQtdFilhos()+"}";
}
}[/code]
classe filha- PaiSub.java:
[code]public class PaiSub extends Pai{
private String mulher;
public PaiSub(String nome, int qtdFilhos, String nomeMulher){
super(nome, qtdFilhos);
System.out.println("Finalizou construtor da classe Pai... Iniciando operacoes do construtor de PaiSub...");
System.out.println();
mulher = nomeMulher;
System.out.println("Finalizou inicializacao de PaiSub. Chamando metodo que ira adiciona-lo...");
System.out.println();
runAfterInicialization();
}
private void runAfterInicialization(){
System.out.println("Chamando metodo da classe Pai...");
System.out.println();
addPai(this);
}
public static void main(String... args){
PaiSub ps = new PaiSub("Mauro da Silva", 3, "Maria Joana Rosa");
System.out.println();
ps.imprimeLista();
System.out.println(ps);
System.out.println("Fim da execucao!! ");
}
public String getMulher(){
return mulher;
}
public String toString(){
return "{Nome - "+ getNome() + ", Quant Filhos - " + getQtdFilhos()+ ", Nome da Mulher - "+getMulher()+"}";
}
}[/code]
Saída:
[code]Finalizou construtor da classe Pai… Iniciando operacoes do construtor de PaiSub…
Finalizou inicializacao de PaiSub. Chamando metodo que ira adiciona-lo…
Chamando metodo da classe Pai…
Pai adicionado com sucesso
{Nome - Mauro da Silva, Quant Filhos - 3, Nome da Mulher - Maria Joana Rosa}
null
null
null
null
{Nome - Mauro da Silva, Quant Filhos - 3, Nome da Mulher - Maria Joana Rosa}
Fim da execucao!![/code]