Description
Classe vs Objeto
Dentro de uma classe eu tenho Atributos e Comportamentos
Classe é uma estrutura de dados! É comum a gente chamar objeto de instância!
Obs: Existem variáveis e métodos que podem ser da classe ou do objeto! O que vai definir isso é a palavrinha static
Construtor Padrão
É o construtor que não recebe nenhum parâmetro:
Produto p1 = new Produto();
Quando eu crio um construtor, eu 'mato' o construtor padrão.
Memtros da Instância vs Membros da Instância
Quando eu adiciono a palavra 'static' em um atributo, isso significa que o valor desse atributo pertence exclusivamente / unicamente à classe! E não da instância! É quase uma 'constante'. Isso significa que esse valor é compartilhado por todas as instâncias!
Eu só consigo acessar um membro de instância a partir do momento em que crio uma instância!
Logo, eu não preciso criar uma instância para acessar um valor da classe.
Por exemplo, o out do System.out é estático! Não preciso instanciar para usar!