Até onde eu sei, o Java infelizmente não oferece o recurso de uma variável poder consultar o próprio nome. Uma saída seria criar esse atributo em seus objetos e passar o valor adequado no construtor.
ivesbertoli
Essa realmente foi a unica opção que encontrei, inclusive estou usando… mas seria uma boa se desse para pegar o valor dinamicamente hein…
Se eu tiver alguma novidade posto aqui, caso você descubra algo… por favor informe… Valeu !
T
thiagohneves
não sei se entendi muito bem a sua dúvida, mais você pode sobreescreve o método toString(), e retornar por exemplo “carro” + o valor de algum atributo da sua classe.
Não Thiago, o que preciso é fazer com que um objeto saiba o nome dele.
No exemplo que mencionei acima (carroAmarelo) é um objeto da classe Carro.
O que eu queria fazer é algo do tipo:
carroAmarelo.getName();
e esse cara retornar o proprio nome, neste caso “carroAmarelo”
sergiotaborda
ivesbertoli:
Galera, desculpe pela ignorância neste sentido, mas estou precisando fazer com que um objeto consiga saber o nome dele, por exemplo o código abaixo:
Carrocarro=newCarro();
preciso de algum método que faça com que o objeto “carro” saiba que o nome dele é “carro”… de maneira automática
outro exemplo
CarrocarroAmarelo=newCarro();
neste caso o nome esperado é “carroAmarelo”…
não só não é possivel, como seria incorreto ter essa funcionalidade. A variável é onde fica uma referencia ao objeto e diferentes variáveis podem referir-se ao mesmo objeto, e diferentes objetos pode ser referenciados pela mesma variável ( não simultaneamente, é claro)
Portanto, essa feature seria completamente embecil e ilógica se existisse. Se o “nome é do objeto” deve existir uma propriedade “nome” no objeto. São simples assim. Fazer isto não é uma limitação do java ou da OO. É como lógicamente deve ser.
Neste caso carro e carroamarelo seriam o mesmo objecto, independentemente do nome que deres à variável.
ivesbertoli
Concordo contigo sergiotaborda, enfim, para o uso que estou propondo aqui vou precisar dessa informação, assim sendo, vou manter a ideia incial de criar um atributo que guarde essa informação.