Visualizar mais de um atributos de uma listaLigada

// Boa noite a todos, que pode me ajudar a resolver minha duvida porque não imprime Nome e Idade
//Estou usando a implementação de uma lista ligada do curso Algoritmos e Estruturas de Dados no Java CS-14 da Caelum, onde eu tenho um objeto Aluno e atribuo um nome e sua idade, mais na hora de mostrar os atributos só aparece o nome do Aluno porque a idade não é mostrada.

Alguem pode me dar uma luz.

class Celula {

private Celula proxima;
private Object elemento;
private Celula anterior;

public Celula(Celula proxima, Object elemento) {
    this.proxima = proxima;
    this.elemento = elemento;
}

public Celula(Object elemento) {
    this.elemento = elemento;
}

public void setProxima(Celula proxima) {
    this.proxima = proxima;
}

public Celula getProxima() {
    return proxima;
}

public Object getElemento() {
    return elemento;    
}

public Celula getAnterior() {
    return anterior;
}

public void setAnterior(Celula anterior) {
    this.anterior = anterior;
}

}

class ListaLigada {

private Celula primeira;
private Celula ultima;
private int totalDeElementos = 0;

public void adiciona(Object elemento) {

    if (this.totalDeElementos == 0) {
        this.adicionaNoComeco(elemento);
    } else {
        Celula nova = new Celula(elemento);
        this.ultima.setProxima(nova);
        nova.setAnterior(this.ultima);
        this.ultima = nova;
        this.totalDeElementos++;
    }

}

public void adiciona(int posicao, Object elemento) {

    if (posicao == 0) {
        this.adicionaNoComeco(elemento);
    } else if (posicao == this.totalDeElementos) {
        this.adiciona(elemento);
    } else {
        Celula anterior = this.pegaCelula(posicao - 1);
        Celula proxima = anterior.getProxima();
        Celula nova = new Celula(anterior.getProxima(), elemento);
        nova.setAnterior(anterior);
        anterior.setProxima(nova);
        proxima.setAnterior(nova);
        this.totalDeElementos++;
    }

}

public Object pega(int posicao) {
    
    return this.pegaCelula(posicao).getElemento();

}

private Celula pegaCelula(int posicao) {
    
    if (!this.posicaoOcupada(posicao)) {
        throw new IllegalArgumentException("Posição não existe");
    }
    Celula atual = primeira;
    for (int i = 0; i < posicao; i++) {
        atual = atual.getProxima();
    }
    return atual;

}

private boolean posicaoOcupada(int posicao) {

    return posicao >= 0 && posicao < this.totalDeElementos;

}

public int tamanho() {

    return this.totalDeElementos;

}

public boolean contem(Object elemento) {

    Celula atual = this.primeira;

    while (atual != null) {
        if (atual.getElemento().equals(elemento)) {
            return true;
        }
        atual = atual.getProxima();
    }
    return false;

}

public void adicionaNoComeco(Object elemento) {

    if (this.totalDeElementos == 0) {
        Celula nova = new Celula(elemento);
        this.primeira = nova;
        this.ultima = nova;
    } else {
        Celula nova = new Celula(this.primeira, elemento);
        this.primeira.setAnterior(nova);
        this.primeira = nova;
    }
    this.totalDeElementos++;

}

public void remove(int posicao) {

    if (!this.posicaoOcupada(posicao)) {
        throw new IllegalArgumentException("Posição não existe");
    }
    if (posicao == 0) {
        this.removeDoComeco();
    } else if (posicao == totalDeElementos -1 ) {
        this.removeDoFim();
    } else {
        Celula anterior = this.pegaCelula(posicao -1);
        Celula atual = anterior.getProxima();
        Celula proxima = atual.getProxima();
        anterior.setProxima(proxima);
        proxima.setAnterior(anterior);
        this.totalDeElementos--;
    }

}

public void removeDoComeco() {

    if (!this.posicaoOcupada(0)) {
        throw new IllegalArgumentException("Posição não existe");
    }
    this.primeira = this.primeira.getProxima();
    //this.primeira.setAnterior() = null;
    this.totalDeElementos--;
    
    if (this.totalDeElementos == 0) {
        this.ultima = null;
    }

}

public void removeDoFim() {

    if (!this.posicaoOcupada(this.totalDeElementos - 1)) {
        throw new IllegalArgumentException("Posição não existe");
    }
    if (this.totalDeElementos == 1) {
        this.removeDoComeco();
    } else {
        Celula penultima = this.ultima.getAnterior();
        penultima.setProxima(null);
        this.ultima = penultima;
        this.totalDeElementos--;
    }
    
}

public String toString() {

    if (this.totalDeElementos == 0) {
        return "[]";
    }
    StringBuilder builder = new StringBuilder("[");
    Celula atual = primeira;

    for (int i = 0; i < this.totalDeElementos -1; i++) {
        builder.append(atual.getElemento());
        builder.append(", ");
        atual = atual.getProxima();
    }

    builder.append(atual.getElemento());
    builder.append("]");

    return builder.toString();

}        

}

class Aluno {    

public String nome;
public int idade;

int getIdade() {
    return idade;
}

void setIdade(int idade) {
    this.idade = idade;
}

String getNome() {
    return nome;
}

void setNome(String nome) {
    this.nome = nome;
}

public String toString() {
    return this.nome;
}

boolean equals(Aluno o) {
    Aluno outro = (Aluno)o;
    return this.nome.equals(outro.nome);
}

}

//Aqui realizei o teste do método adicionaNoFim()
//Onde eu tenho um objeto Aluno e atribuo um nome e sua idade, mais na hora de mostrar os atributos só aparece o nome do Aluno


class TesteAdicionaNoFim {

public static void main(String[] args) {

    Aluno a1 = new Aluno();
    Aluno a2 = new Aluno();

    a1.setNome("Rafael");
    a1.setIdade(15);
    a2.setNome("Paulo");
    a2.setIdade(20);
    
    ListaLigada lista = new ListaLigada();

    lista.adiciona(a1);
    lista.adiciona(a2);

    System.out.println(lista);
    System.out.println(lista.tamanho());

}
}

Substitua o toString() da classe Aluno por esse:

 @Override
    public String toString() {
        return nome +" "+ idade+ " anos";
    }
1 curtida

Obrigado Jonas.