Tipos:
Variáveis podem conter valores primitivos ou referências para objetos (do
tipo classe, interface ou array).
Pode haver mais de uma referência para o mesmo objeto. Se duas variáveis
contém referências para o mesmo objeto e uma delas modifica o estado do
objeto (modificando o valor de uma variável de instância), a outra
referência vai refletir esta mudança também.
No exemplo abaixo...
Professor andreia; andreia = new Professor("Andreia Alcantara", "aep", 1000); System.out.println(andreia.nome + " - " + andreia.nivel); Professor outro = andreia; outro.nome = "outro"; outro.nivel = "outro nivel"; System.out.println(andreia.nome + " - " + andreia.nivel);O que aconteceu com a variável andreia?
Valores primitivos são indivisíveis (não contém campos) e não compartilham
o seu estado.
Uma variável cujo tipo é um valor primitivo vai sempre guardar um valor deste
tipo primitivo e este valor não é compartilhado, de nenhuma forma, com
nenhuma outra variável. Assim, este valor só poderá ser modificado
através de operações que usem esta variável.
No exemplo abaixo...
int i, j; i = 8; System.out.println("i="+i); j=i; j=10; System.out.println("i="+i);O que aconteceu com a variável i?