Usando super e toString

2 respostas
M

Ola galera....tudo beleza...eu tenho duvida muito persistente... eu tenho uma classe pessoa

public class Pessoa{
    private String nome=null;
    private String matricula=null;
    private int idade = 0;
    //metodos get e set
       
       
    public String toSrintg(){
        return "Nome: "+this.nome+'\n'+"Matricula:"+this.matricula+'\n'+"Idade:"+this.idade+'\n';
    }
}

deu para notar que um metodo public toString,
Agora eu to me enrolando no com a palavra super e o metodo toString dessa proxima classe:

public class Aluno extends Pessoa{
    
    private String curso=null;
    public String toString(){
     super.toString();// nessa linha eu preciso usar o super e o to Srting 
    return "Nome: "+nome+'\n'+"Matricula:"+matricula+'\n'+"Idade:"+idade+'\n'+"Curso:"+curso+'\n';
      
          } 
    }
Afinal a plavra reservada super não serve para "chamar a classe super"??? O metodo toString dentro do metodo to String não deveria funcionar....

Valeu galera muito obrigado um grande abraço...

2 Respostas

P

O método toString devolve uma String. Na tua class Aluno chamas o método mas não fazes nada com o resultado que é retornado.

O que tu queres deve ser algo assim:

public String toString(){  
     return super.toString() +"Curso:"+curso+'\n';   // Obtem o toString de Pessoa e acrescenta o que é específico de Aluno (curso)
}
M

pmlm…valeu obrigado era isso mesmo que eu queria fazer mas não estava conseguindo entender a função do toString e do super… o toString devolve uma String…valeu pela dica…Um grande abraço…

Criado 26 de novembro de 2015
Ultima resposta 27 de nov. de 2015
Respostas 2
Participantes 2