Roge ✨
@roge
Sei um pouco de cada coisa e muito de nada.
Meu pai me manda todas as terças e quintas os percursos que ele faz de bicicleta na ilha de Florianópolis com justificativas dos baixos rendimentos e o de vocês?
Não sei se vocês andam acompanhado as notícias do dia, mas a Fátima de Vale Tudo se jogou da escada.
Instanciação de Classe Carrega a classe e executa o static da classe Pessoa, porém, como objeto não foi instanciado, apenas carregado, não irá executar o construtor de pessoa.
Instanciação de Objeto Utilizando o new, carrega a classe e instancia — aloca um espaço na memória heap.
Clonagem: Mais um caso onde pelo menos uma vez precisa chamar a classe original, aqui é literalmente uma cópia da instância original.
Injeção de depedência: No caso do Spring, ele mesmo gerencia os objetos, só é necessário anotar com o @Autowired para avisar quem irá chamar o construtor.
Deserialização (fala isso 3 vezes na frente do espelho): Para o Deserialização funcionar, precisa que em outro momento a classe já tenha sido instanciado, pois o FileInputStream() irá pegar o arquivo binário da classe Pessoa.
Formas implícitas de instanciação: Reflexão Por baixo dos panos ainda usa o New quando chama os métodos via reflexão (por isso implícito).
Digo a grosso modo, pois ainda existe o método create() que como já mencionado, ele é uma convenção em padrões de projetos, que em resumo, faz a instanciação da classe dentro do próprio construtor da classe:
As ditas implícitas, são chamadas que podem serem feitas via reflexões, deserialização, injeção de dependências ou clonagem. Formas explícitas de instanciação A grosso modo, só existe uma forma explícita de instanciação, que é utilizando a palavra reservada new:
Se executar esse código abaixo ele irá sair no console na seguinte ordem: // Classe Exemplo inicializada. (INICIALIZADA PELA JVM) // Método main iniciado. (INICILIAZADA PELA JVM) // Variável de instância num inicializada. (INSTANCIADA — EXECUTA APÓS O MAIN INICIALIZAR)