"नमस्कार, अमीगो! आज, बिलाबो उस क्रम के बारे में बात करेंगे जिसमें वेरिएबल इनिशियलाइज़ किए जाते हैं ।"

कल्पना कीजिए कि आप कुछ कोड देख रहे हैं। चर क्या मूल्य प्राप्त करते हैं?

कोड
class Cat
{
 public int a = 5;
 public int b = a + 1;
 public int c = a * b;
}
कोड
class Cat
{
 public int a = getSum();
 public int b = getSum() - a;
 public int c = getSum() - a - b;

 public int getSum()
 {
  return a + b + c;
 }
}

"क्या वास्तव में इसकी अनुमति है?"

"बेशक। जिस क्रम में एक वर्ग के सदस्य तरीकों और क्षेत्रों की घोषणा की जाती है वह महत्वपूर्ण नहीं है। "

एक वर्ग को ऊपर से नीचे तक लोड किया जाता है, इसलिए यह महत्वपूर्ण है कि एक फ़ील्ड केवल अन्य फ़ील्ड तक ही पहुँचे जो पहले से लोड हो चुके हैं। उदाहरण में, b a तक पहुंच सकता है , लेकिन यह c के बारे में कुछ नहीं जानता है ।

"ओर क्या होता हे?"

"जब चर बनाए जाते हैं, तो उन्हें डिफ़ॉल्ट मान मिलते हैं।"

कोड वास्तव में क्या होता है
class Cat
{
 public int a = 5;
 public int b = a + 1;
 public int c = a * b;
}
class Cat
{
 public int a = 0;
 public int b = 0;
 public int c = 0;

 public Cat()
 {
  super();

  a = 5;
  b = a + 1; //5+1 = 6
  c = a * b; //5*6 = 30
 }
}
class Cat
{
 public int a = getSum();
 public int b = getSum() - a;
 public int c = getSum() - a - b;

 public getSum()
 {
  return a + b + c;
 }
}
class Cat
{
 public int a = 0;
 public int b = 0;
 public int c = 0;

 public Cat()
 {
  super();

  a = getSum(); //(a+b+c)=0
  b = getSum() - a; //(a+b+c)-a=b=0
  c = getSum() - a - b; //(a+b+c)-a-b=c=0
 }

 public getSum()
 {
  return a + b + c;
 }
}

"पवित्र मोली! यह बहुत आसान है। धन्यवाद, बिलाबो। तुम एक सच्चे दोस्त हो!"

"हुर्रे! बिलाबो का एक दोस्त है!"