কম্পিউটার

জাভাতে ধ্রুবক এবং চূড়ান্ত ভেরিয়েবলের মধ্যে পার্থক্য?


জাভাতে ধ্রুবক

একটি ধ্রুবক ভেরিয়েবল হল একটি যার মান স্থির এবং এটির শুধুমাত্র একটি অনুলিপি প্রোগ্রামে বিদ্যমান। একবার আপনি একটি ধ্রুবক পরিবর্তনশীল ঘোষণা করে এবং এটির মান নির্ধারণ করলে, আপনি পুরো প্রোগ্রাম জুড়ে এটির মান আবার পরিবর্তন করতে পারবেন না।

সি ভাষার বিপরীতে ধ্রুবকগুলি জাভাতে সমর্থিত নয় (সরাসরি)। কিন্তু, আপনি এখনও একটি পরিবর্তনশীল স্ট্যাটিক এবং চূড়ান্ত ঘোষণা করে একটি ধ্রুবক তৈরি করতে পারেন।

  • একবার আপনি একটি ভেরিয়েবল স্ট্যাটিক ঘোষণা করলে সেগুলি কম্পাইলের সময় মেমরিতে লোড করা হবে অর্থাৎ তাদের শুধুমাত্র একটি কপি পাওয়া যায়৷

  • একবার আপনি একটি ভেরিয়েবল চূড়ান্ত ঘোষণা করলে আপনি আবার এর মান পরিবর্তন করতে পারবেন না।

উদাহরণ

class Data {
   static final int integerConstant = 20;
}
public class ConstantsExample {
   public static void main(String args[]) {
      System.out.println("value of integerConstant: "+Data.integerConstant);
   }
}

আউটপুট

value of integerConstant: 20

জাভাতে চূড়ান্ত পরিবর্তনশীল

একবার আপনি একটি পরিবর্তনশীল চূড়ান্ত ঘোষণা করলে আপনি এর মান পরিবর্তন করতে পারবেন না। আপনি যদি এটি করার চেষ্টা করেন তবে একটি কম্পাইল টাইম ত্রুটি তৈরি হবে।

উদাহরণ

public class FinalExample {
   public static void main(String args[]) {
      final int num = 200;
      num = 2544;
   }
}

আউটপুট

FinalExample.java:4: error: cannot assign a value to final variable num
   num = 2544;
   ^
1 error

চূড়ান্ত ভেরিয়েবল এবং একটি ধ্রুবকের (স্থির এবং চূড়ান্ত) মধ্যে প্রধান পার্থক্য হল যে আপনি যদি স্ট্যাটিক কীওয়ার্ড ছাড়াই একটি চূড়ান্ত ভেরিয়েবল তৈরি করেন, যদিও এর মান পরিবর্তনযোগ্য নয়, প্রতিবার আপনি একটি নতুন বস্তু তৈরি করার সময় ভেরিয়েবলের একটি পৃথক অনুলিপি তৈরি করা হয়। যেখানে একটি ধ্রুবক পরিবর্তনযোগ্য নয় এবং প্রোগ্রামের মাধ্যমে শুধুমাত্র একটি কপি থাকে। উদাহরণস্বরূপ, নিম্নলিখিত জাভা প্রোগ্রামটি বিবেচনা করুন,

উদাহরণ

class Data {
   final int integerConstant = 20;
}
public class ConstantExample {
   public static void main(String args[]) {
      Data obj1 = new Data();
      System.out.println("value of integerConstant: "+obj1.integerConstant);
      Data obj2 = new Data();
      System.out.println("value of integerConstant: "+obj2.integerConstant);
   }
}

আউটপুট

value of integerConstant: 20
value of integerConstant: 20

এখানে আমরা একটি চূড়ান্ত ভেরিয়েবল তৈরি করেছি এবং দুটি অবজেক্ট ব্যবহার করে এর মান প্রিন্ট করার চেষ্টা করছি, উভয় ক্ষেত্রেই ভেরিয়েবলের চিন্তার মান একই, যেহেতু আমরা প্রতিটির জন্য একটি ভিন্ন অবজেক্ট ব্যবহার করেছি সেগুলি প্রকৃত ভেরিয়েবলের কপি৷

ধ্রুবকের সংজ্ঞা অনুসারে আপনার পুরো প্রোগ্রাম (ক্লাস) জুড়ে ভেরিয়েবলের একটি একক অনুলিপি থাকতে হবে।

তাই, pert সংজ্ঞা হিসাবে ধ্রুবক তৈরি করতে, আপনাকে এটিকে স্ট্যাটিক এবং চূড়ান্ত উভয়ই ঘোষণা করতে হবে।


  1. জাভাতে সিরিয়ালাইজেশন এবং এক্সটারনালাইজেশনের মধ্যে পার্থক্য

  2. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  3. জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য

  4. একটি ধ্রুবক কি এবং কিভাবে জাভাতে ধ্রুবক সংজ্ঞায়িত করা যায়?