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.
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.
Utilizando o new, carrega a classe e instancia — aloca um espaço na memória heap.
Utilizando o new, carrega a classe e instancia — aloca um espaço na memória heap.
Mais um caso onde pelo menos uma vez precisa chamar a classe original, aqui é literalmente uma cópia da instância original.
Mais um caso onde pelo menos uma vez precisa chamar a classe original, aqui é literalmente uma cópia da instância original.
No caso do Spring, ele mesmo gerencia os objetos, só é necessário anotar com o @Autowired para avisar quem irá chamar o construtor.
No caso do Spring, ele mesmo gerencia os objetos, só é necessário anotar com o @Autowired para avisar quem irá chamar o construtor.
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.
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.
Reflexão
Por baixo dos panos ainda usa o New quando chama os métodos via reflexão (por isso implícito).
Reflexão
Por baixo dos panos ainda usa o New quando chama os métodos via reflexão (por isso implícito).
Formas explícitas de instanciação
A grosso modo, só existe uma forma explícita de instanciação, que é utilizando a palavra reservada new:
Formas explícitas de instanciação
A grosso modo, só existe uma forma explícita de instanciação, que é utilizando a palavra reservada new:
// 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)
// 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)