"हॅलो, अमिगो! आज, बिलाबो ज्या क्रमाने व्हेरिएबल्स सुरू होतात त्याबद्दल बोलेल ."

कल्पना करा की तुम्ही काही कोड बघत आहात. व्हेरिएबल्सना कोणती मूल्ये मिळतात?

कोड
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;
 }
}

"होली मोली! हे खूप सोपे आहे. धन्यवाद, बिलाबो. तू खरा मित्र आहेस!"

"हुर्रे! बिलाबोचा एक मित्र आहे!"