A palavra-chave `new` no java é redundante?
Vindo do C ++, existe um recurso do java que não entendo direito. Eu li que todos os objetos devem ser criados usando a palavra-chavenew
, com exceção das primitivas. Agora, se o compilador puder reconhecer um tipo primitivo e não permitir que você crie um objeto chamando seu construtor semnew
, qual o motivo de ter a palavra-chavenew
em absoluto? Alguém poderia fornecer um exemplo quando duas linhas de código, idênticas, exceto pela presença denew
, compilar e ter diferentes significados / resultados?
Apenas para esclarecer o que quero dizer com redundante, e espero tornar minha pergunta mais clara. Faznew
adicionar alguma coisa? O idioma poderia ter sido expresso semnew
para instanciação de objetos através de um construto