/ / Tornando um atributo de um objeto Java acessível apenas por esse objeto - java, private-members

Tornando um atributo de um objeto Java acessível apenas por esse objeto - java, private-members

Existe uma maneira em Java para expressar que umatributo x de um objeto o pode ser acessado (quero dizer por notação de ponto o.x) somente por o próprio? Para ser claro: eu estou falando sobre o acesso no nível do objeto como no Smalltalk, não no acesso em nível de classe privado não é privado o suficiente)?

Eu sinto muito - eu tenho certeza que isso foi perguntado muitas vezes antes, mas parece que eu escolho as palavras-chave erradas ao pesquisar.

Respostas:

1 para resposta № 1

Não é possível em Java (nada é maisprivate do que os campos marcados como "private"), mas se você pensar sobre isso, também é lógico: você pode modificar campos privados de outros objetos somente no código fonte da classe comum, e se você controlar o código fonte da classe, faça qualquer coisa ruim ou boa de qualquer maneira.

BTW, você pode acessar até mesmo variáveis ​​privadas de outras classes via reflexão, se não houver um gerenciador de segurança instalado, ou a política do gerenciador de segurança permitir, veja isto: Por que é permitido acessar campos privados de Java por meio da reflexão?


0 para resposta № 2

O que você quer fazer não é possível. Cada objeto tem seu próprio conjunto de variáveis ​​de instância e pode ser acessado através desse objeto apenas enquanto não estiver estático. Portanto, em resumo, se você quiser um atributo de objeto Java acessível somente por esse objeto, mantenha esse objeto ativo :) .