"হ্যালো, অ্যামিগো! আজ, বিলাবো সেই ক্রম সম্পর্কে কথা বলবে যেখানে ভেরিয়েবল শুরু করা হয় ।"

কল্পনা করুন আপনি কিছু কোড দেখছেন। ভেরিয়েবল কি মান পায়?

কোড
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 একটি অ্যাক্সেস করতে পারে , কিন্তু এটি 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;
 }
}

"পবিত্র মলি! এটা খুবই সহজ। ধন্যবাদ, বিলাবো। তুমি সত্যিকারের বন্ধু!"

"হুররে! বিলাবোর একটা বন্ধু আছে!"