Observar o código abaixo:
public class Aluno2
{
double[]notas = new double[4];
public void setNota(int indice, double nota){
notas[indice] = nota;
}
public double getMedia(){
double soma = 0;
for (int i = 0; i < notas.length; i++)
soma = soma + notas[i];
return soma / notas.length;
}
}
public class MainAluno2
{
public static void main(String[]args){
Aluno2 aluno1 = new Aluno2();
Aluno2 aluno2 = new Aluno2();
Aluno2 aluno3 = new Aluno2();
Aluno2 aluno4 = aluno1;
aluno1.setNota(0, 9);
aluno1.setNota(1, 9);
aluno1.setNota(2, 9);
aluno1.setNota(3, 9);
aluno2.setNota(0, 8);
aluno2.setNota(1, 8);
aluno2.setNota(2, 8);
aluno2.setNota(3, 8);
aluno3.setNota(0, 8);
aluno3.setNota(1, 8);
aluno3.setNota(2, 8);
aluno3.setNota(3, 8);
aluno4.setNota(0, 8);
aluno4.setNota(1, 8);
aluno4.setNota(2, 8);
aluno4.setNota(3, 8);
System.out.println("O aluno aluno1 possui média igual a: "+aluno1.getMedia());
System.out.println();
System.out.println("O aluno aluno2 possui média igual a: "+aluno2.getMedia());
System.out.println();
System.out.println("O aluno aluno3 possui média igual a: "+aluno3.getMedia());
System.out.println();
System.out.print("O aluno aluno4 possui média igual a: "+aluno4.getMedia());
}
}
Observar saída do programa no terminal abaixo:
O aluno aluno1 possui média igual a: 8.0
O aluno aluno2 possui média igual a: 8.0
O aluno aluno3 possui média igual a: 8.0
O aluno aluno4 possui média igual a: 8.0
A minha dúvida é porque o aluno 1 e o aluno 4 não estão apresentando a mesma média que seria 9, visto que, aluno4 está referenciando aluno1?