"Olá amigo! Hoje o Bilaabo vai falar sobre a ordem de inicialização das variáveis ."
Imagine que você está olhando para algum código. Que valores as variáveis obtêm?
Código
class Cat
{
public int a = 5;
public int b = a + 1;
public int c = a * b;
}
Código
class Cat
{
public int a = getSum();
public int b = getSum() - a;
public int c = getSum() - a - b;
public int getSum()
{
return a + b + c;
}
}
"Isso é realmente permitido?"
"Claro. A ordem em que os métodos e campos membros de uma classe são declarados não é importante. "
Uma classe é carregada de cima para baixo, por isso é importante que um campo acesse apenas outros campos que já foram carregados. No exemplo, b pode acessar a , mas não sabe nada sobre c .
"E o que vai acontecer?"
"Quando as variáveis são criadas, elas obtêm valores padrão."
Código | O que realmente acontece |
---|---|
|
|
|
|
"Caramba! É tão simples. Obrigado, Bilaabo. Você é um amigo de verdade!"
"Viva! Bilaabo tem um amigo!"
GO TO FULL VERSION