Variaveis e metodos estaticos

Beleza mocada? Estou com uma dúvida …

public class MyClass {
  private static int x = getValue();
  private static int y = 5;

  private static int getValue() {
    return y;
  }

  public static void main(String[] args) {
    System.out.println(x);
  }
}

Queria saber porque que imprime zero em vez de cinco? Possui uma ordem em que os membros estáticos são definidos?

Não entendi !!! 8O

donatinho

Olha amigo, não tenho certeza mas o atributo x esta recebendo um metodo que retorna o valor de y só que o método que x recebe não imprimi nada, tente o seguinte
private static int getValue() {
system.out.println(y);
return y;
}

se der certo por favor responda dizendo que funcionou…

kra antes de OO o Java tbm é estruturado ou seja retorna zero pq y ainda é zero se vc trocar a ordem na declaração as variaveis vai sair o tão esperado 5.

esqueleto

[quote=“esqueleto”]kra antes de OO o Java tbm é estruturado ou seja retorna zero pq y ainda é zero se vc trocar a ordem na declaração as variaveis vai sair o tão esperado 5.

esqueleto[/quote]

responda - me onde vc viu o y valendo 0???

Opa galera, bom dia!!!

Tipo moacirjava, fiz o teste recomendado por você e imprimiu zero realmente.

Ou seja, acredito que as variáveis estáticas antes de serem explicitamente inicializadas recebem seus valores padrão.

Estou certo esqueleto?

valeu mocada…

donatinho