Estou aprendendo JAVA e estou na parte de orientação a OBJETOS, na aula o professor citou em uma das aulas o seguinte código.
Public class Conta{
public int numero;
public String nome;
public double saldo;
}
O código tem mais linhas porém estou com dúvida nesta parte, ele criou a CLASS e criou estas linhas como PUBLIC, não estou entendendo o porque ele fez isso.
Isto se chama “encapsulamento”, e define os niveis de acesso que a aplicação terá nos objetos.
public: Todos podem acessar os objetos da aplicação.
protected: Os objetos podem ser acessados na classe pai e nas classes filhas (herança).
private: Os objetos so podem ser acessados pela propria classe.
O public quer dizer que o seus atributos são publicos, ou seja, pode ser acessado de qualquer outra classe.
No exemplo abaixo estou modificando os valores por outra classe
public class Principal{
public static void main(String[] args) {
Conta conta = new Conta();
conta.numero = 453;
conta.saldo = 2;
}
}
Se os atributos fossem private (privado) isso não seria acontecer, pois private os atributos só poderiam ser acessados na própria classe.
Protected: Só complementando o que o lucasgarcez disse, tem que estar no mesmo package(pacote)
Se voce for um programador “preguiçoso”, poderá deixar tudo como public que a aplicação vai funcionar.
Recomendo usar os outros atributos apenas se tiver o conhecimento necessário para saber onde aplicar, quando e porque (algo que voce vai aprender com experiencia, tempo e estudo).