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 ?
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!