Variáveis de Referência [DÚVIDA]

2 respostas
java
Rogerio_Cruzz

Estou estudando para a certificação através do livro da Kathy Sierra e Bert Bates, e me deparei com duas explicações sobre variáveis de referências que não estou conseguindo entender segue abaixo:

“Uma variável de referência pode ser declarada como um tipo de classe ou um tipo de interface. Se a variável for declarada como um tipo de interface, ela pode referenciar qualquer objeto de qualquer classe que implemente a interface.”

“Uma variável de referência pode ser declarada como um tipo de classe ou um tipo de interface. Se a variável for declarada como um tipo de interface, ela pode referenciar qualquer objeto de qualquer classe que implemente a interface!”

Então, essas ai são as explicações que não entendi direito, agradeço se puderem me ajudar !!

2 Respostas

wldomiciano

Considere o seguinte trecho:

class MinhaInterface {}

class MinhaClasse implements MinhaInterface {}
  
class MinhaOutraClasse implements MinhaInterface {}

O que o trecho que vc citou diz é, simplesmente, que qualquer uma das situações abaixo é possível:

Object a = new MinhaClasse();

MinhaClasse b = new MinhaClasse();

MinhaInterface c = new MinhaClasse();

MinhaInterface d = new MinhaOutraClasse();

A variável c é de um tipo referência (tipo MinhaInterface) e pode conter uma referência para qualquer classe que implemente MinhaInterface.

Não deixe de conferir o link abaixo.

https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html

staroski

Entenda variável de referência como qualquer variável que não é de tipo primitivo.
Além de classe e interface, uma variável de referência também pode ser do tipo enum.

Uma variável é declarada da seguinte forma:

<modificador de acesso> <tipo de dado> <identificador>;

Onde o <tipo de dado> pode ser um tipo primitivo (byte, boolean, short, char, int, float, long, double), uma classe, uma interface ou um enum.

Criado 29 de agosto de 2017
Ultima resposta 29 de ago. de 2017
Respostas 2
Participantes 3