Dificuldade com o toString();

Boa noite, fiz o FJ11 com a Caelum em Brasília e foi abordado o toString() em uma das aulas. Entendi que temos que sobrescrever o método de Object, para mudar o que sairia na saida padrão quando usar o sysout em um Object. Fiz esse código abaixo apenas para brincar e treinar um pouco com um Array simples e testar o toString() porém não consegui fazer funcionar e não consigo achar o erro. Alguém pode me ajudar por favor ?

package aulas;

public class Array {
	public static void main(String[] args) {
		double[] notasDoJoao = { 7.0, 8.7, 9, 10, 18.9 };
		double[] notasPedro = new double[5];
		notasPedro[0] = 1;
		notasPedro[1] = 5;
		notasPedro[2] = 19;
		notasPedro[3] = 5;
		notasPedro[4] = 20;

		double totalJoao = 0;
		for (int i = 0; i < notasDoJoao.length; i++) {
			totalJoao += notasDoJoao[i];
		}

		double totalPedro = 0;
		for (int i = 0; i < notasPedro.length; i++) {
			totalPedro += notasPedro[i];
		}
		StringBuilder notas = new StringBuilder();
		System.out.println(notas.append("Média de Notas Pedro: ").append(totalPedro / notasPedro.length)
				.append("\nMédia de Notas João: ").append(totalJoao / notasDoJoao.length));

		System.out.println(notasPedro);
	}

	@Override
	public String toString() {
		return "Não sei porque não funciona";
	}

}

O Java usa o método toString() toda vez que for necessário converter um objeto em String, ou seja, para obter uma representação textual do objeto.

public class Funcionario {
    @Override
    public String toString() {
        return "Esse é o método toString";
    }
     public static void main(String[] args){
        Funcionario funcionario = new Funcionario();
        System.out.println(funcionario);//Imprime "Esse é o método toString".OBS Não é necessario chamar o método para fazer ele funcionar;
    }

}

Você disse que não esta conseguindo chamar o toString, bom… Para você chamar o toString, tem que criar um objeto da mesma classe que você sobrescreveu o método.

Se você sobrescreveu o método toString na classe Aluno, você terá que criar um objeto do tipo Aluno e então dar System.out.println() passando como parâmetro o objeto

Entendi Mike, Obrigado !
No caso acima eu criei apenas esta classe Array com um main nela mesmo, somente para testes e sobrescrevi na própria classe pra tentar retornar algo no toString() quando eu tentasse imprimir este array. Mas não funcionou, sabe me dizer porque ?

Você não criou nenhum objeto da sua classe, apenas variaveis double

Verdade, esqueci de instanciar ! Testei e funcionou ! As vezes não enxergamos os detalhes do código kkk

Que bom que deu certo :slight_smile:
As vezes o erro é tão obvio, que a gente nem ve kkkk

Muito Obrigado pela atenção Mike !