Qual é a diferença entre uma variável privada e protegida em java?

Private é um tipo de modificador de acesso em java. '

A TI designa que o acesso a um membro definido de uma classe seja concedido apenas ao código dentro dessa classe. Nem as subclasses nem quaisquer outras classes têm acesso a esses membros.

Por exemplo, definimos a variável de instância count da classe Counter para ter um nível de acesso privado. Nos foi permitido ler ou editar seu valor nos métodos dessa classe (como getCount, incremento e redefinição), mas outras classes, como CounterDemo, não podem acessar diretamente esse campo. Obviamente, fornecemos outros métodos públicos para conceder às classes externas comportamentos que dependiam do valor atual da contagem.

O modificador protegido designa que o acesso ao aspecto definido é concedido apenas aos seguintes grupos de outras classes:

◦ Classes que são designadas como subclasses da classe fornecida por herança.

AssesClasses que pertencem ao mesmo pacote que a classe especificada.

Siga meu canal do YouTube para aprender JAVA

https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/channel/UC4wGk9VhhAm9B1Dsw2ILpNw&ved=2ahUKEwjW8Mr_9pLgAhWLXisKHcDWGWVWQA

Uma variável privada pertence apenas à classe. Não é visível nem acessível por nenhuma outra classe.

Uma variável protegida pertence à classe, mas é visível e acessível por qualquer classe descendente, ou seja, subclasses, subclasses,…

Observe que, usando o Reflection, você pode ignorar esta medida de segurança, para poder ler e gravar qualquer variável usando o Reflection, independentemente de seus modificadores.

Privado e protegido, ambos são especificadores de acesso em java.

O modificador de acesso privado é acessível apenas dentro da classe. Se você tornar qualquer construtor de classe privado, não poderá criar a instância dessa classe de fora da classe. Pode ser aplicado na classe.

Considerando que, o modificador de acesso protegido é acessível dentro e fora do pacote, mas apenas por herança. O modificador de acesso protegido pode ser aplicado nos membros, métodos e construtor de dados. Não pode ser aplicado na classe.

A variável privada pode ser usada dentro da mesma classe, mas não fora da classe.

A variável protegida pode ser usada dentro da mesma classe e em outra subclasse, meios nessa classe que estendem a superclasse que possui essa variável protegida.

Mais uma coisa, embora não possamos usar variáveis ​​privadas fora da classe, mas usando o método público get () e set (), também podemos acessá-las e usá-las em classes externas. Basta verificar get () e set (), se você quiser saber sobre eles.

obrigado

Privado

Como você pensaria, apenas o

classe

em que é declarado pode vê-lo.

Pacote Privado

Só pode ser visto e usado pelo

pacote

em que foi declarado. Este é o padrão em Java (que alguns vêem como um erro).

Protegido

O pacote Private + pode ser visto pelas subclasses ou membro do pacote.

Público

Todo mundo pode ver.

referência

Controlando o acesso a membros de uma classe

Em Java, diferença entre padrão, público, protegido e privado

Eu posso responder mais do que você pediu. Estou apenas colando isso, do documento que preparei para mim. :)

Membros públicos:

Se declararmos um método como público, poderemos acessar esse membro de qualquer lugar, mas a classe correspondente deverá ser pública.

Membros padrão:

  • Se um membro for declarado como padrão, poderemos acessar esse membro somente dentro do pacote atual e não poderemos acessar de fora do pacote.
  • Acesso padrão também conhecido como acesso no nível do pacote.

Membros privados:

  • Se um membro for declarado como privado, poderemos acessar esse membro apenas dentro da classe atual.
  • Os métodos abstratos devem estar visíveis para a classe filho, os métodos privados não serão visíveis. Portanto, a combinação abstrata privada é ilegal para métodos.

Membros protegidos:

  • Modificador mais conhecido em Java.
  • Se um membro for declarado como protegido, podemos acessá-lo no pacote atual em qualquer lugar, mas fora do pacote apenas na classe filho.
  • Dentro do pacote atual, podemos acessar membros protegidos por referência pai ou filho.
  • Fora do pacote, podemos acessar membros protegidos apenas dando referência a filhos.

Espero que isso responda.

Obrigado.