variável estática

Não entedi essa questão a resposta dela :???:

Qual é o resultado depois que compilar e rodar o seguinte código?

[code]public class Test {
static int total = 10;

public static void main(String[] args) {
new Test();
}

public Test() {
System.out.println("In test");
System.out.println(this);
int temp = this.total;
if (temp > 5) {
System.out.println(temp);
}
}

}[/code]
The class not compile
The value 10 is one of the elements printed to the standard output X
The class compiles but generates a runtiem error

Pra mim teria que dar erro porque uma variável estática estaria sendo acessada por this…

donatinho
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:

Variavel static não tem problema nenhum ser acessada via this… dentro de um metodo não estatico.

this é uma referencia a sua classe … e vc quer pegar uma variavel estatica dessa classe.

static vc tem que lembrar que é unica para todas as instancias desta classe.

O que vc não pode fazer é chamar um metodo não estatico de um metodo ou bloco estatico.

[quote=“donatinho”]Valeu cara!!!

Obrigado pela dica :slight_smile:

[/quote] :cool:

Lembrando que apesar de isso ser possivel não é recomendavel usar, por questões de clareza…

obs.: Isso está escrito no manual de convenções da Sun