Porque você cria um novo objeto só para mudar a variável estática? Porque não simplesmente chamar a classe e o atritubo estático e mudar? ao invés new Test().i = 10, fazer Test.i = 10 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Porque você cria um novo objeto só para mudar a variável estática? Porque não simplesmente chamar a classe e o atritubo estático e mudar? ao invés new Test().i = 10, fazer Test.i = 10 ?
Olá Danilo, tudo bem?
A razão pela qual é necessário criar um novo objeto para acessar uma variável estática é porque a variável estática pertence à classe, não a uma instância específica da classe. Quando você usa a notação "Test.i = 10", você está acessando a variável estática "i" diretamente na classe "Test", sem precisar criar um novo objeto.
Por outro lado, quando você usa a notação "new Test().i = 10", você está criando um novo objeto da classe "Test" e, em seguida, acessando a variável estática "i" desse objeto. Isso não é necessário para acessar uma variável estática, mas é útil se você precisar acessar uma variável não estática em um objeto específico.
Espero ter ajudado e bons estudos!