কম্পিউটার টিউটোরিয়াল

জাভাতে স্ট্যাটিক এবং নন-স্ট্যাটিক ব্লাঙ্ক ফাইনাল ভেরিয়েবল


স্ট্যাটিক ভেরিয়েবল: 'static' কীওয়ার্ডের সাহায্যে ডিক্লেয়ার করা হয়, এগুলো ক্লাস ভেরিয়েবল ও বলা হয়। এগুলো একটি কনস্ট্রাক্টরের ভেতরে বা ক্লাস ফাংশনের বাইরে ডিফাইন করা হয়। যখন একটি ভেরিয়েবল স্ট্যাটিক হয়, তবে এটি ক্লাসের সব অবজেক্টের মাঝে শেয়ার করা হয়, অবজেক্টের সংখ্যা কতই হোক না কেন।

'static' কীওয়ার্ড ভেরিয়েবলের সাথে কীভাবে কাজ করে তা প্রদর্শন:

উদাহরণ

public class Demo{    String name;    static String designation;    public void display_data(){       System.out.println("The name is: " + name);       System.out.println("The designation of this team members is : " + designation);    }    public static void main(String s[]){       Demo.designation = "Intern";       Demo my_obj = new Demo();       my_obj.name = "Joe";       Demo my_obj_2 = new Demo();       my_obj_2.name = "Joanna";       my_obj.display_data();       my_obj_2.display_data();       my_obj.designation = "Senior dev";       System.out.println("\nAfter the changes, the data is :\n");       my_obj.display_data();       my_obj_2.display_data();    } }

আউটপুট

The name is: Joe The designation of this team members is : Intern The name is: Joanna The designation of this team members is : Intern After the changes, the data is : The name is: Joe The designation of this team members is : Senior dev The name is: Joanna The designation of this team members is : Senior dev

Demo নামক একটি ক্লাসে ভেরিয়েবল এবং 'display_data' নামক একটি ফাংশন থাকে যা ক্লাস ভেরিয়েবলগুলো প্রদর্শন করতে ব্যবহৃত হয়। main ফাংশনে ক্লাসের একটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং অবজেক্ট ভেরিয়েবলে নাম এবং ডেজিগনেশন অ্যাসাইন করা হয়েছে। এটি প্রদর্শিত হয়েছে এবং আরেকটি অবজেক্ট তৈরি করা হয়েছে এবং একই কাজ করা হয়েছে। ডেটা কনসোলে দেখানো হয়েছে। পরিবর্তনগুলো এখানে রিফ্লেক্ট হয়েছে।

স্ট্যাটিক ফাইনাল ব্লাঙ্ক ভেরিয়েবল - ব্লাঙ্ক ফাইনাল ভেরিয়েবলের সেইম ডেফিনিশন সাথে 'static' কীওয়ার্ড, অর্থাৎ এটি শুধু একটি স্ট্যাটিক ব্লক কোডের ভেতরে ইনিশিয়ালাইজ করা যাবে।

ব্লাঙ্ক ফাইনাল ভেরিয়েবল - নাম অনুসারে, ফাইনাল ভেরিয়েবল যেটির কোনো মান অ্যাসাইন করা নেই সেটিকে ব্লাঙ্ক ফাইনাল ভেরিয়েবল বলা হয়। এটি শুধু একটি কনস্ট্রাক্টরের ভেতরে ইনিশিয়ালাইজ করা যাবে এবং ব্লাঙ্ক ফাইনাল ভেরিয়েবল ইনিশিয়ালাইজ না করলে কম্পাইলেশন এরর হবে।

ব্লাঙ্ক ফাইনাল ভেরিয়েবলের কাজকর্ম:

উদাহরণ

public class Demo{    private static final int val_1;    private final int val_2;    static{ val_1 = 1;    }    Demo(int val_3){       val_2 = val_3;    }    public static void main(String s[]){       Demo obj_1 = new Demo(95);       Demo obj_2 = new Demo(99);       System.out.println("The value of first variable is : ");       System.out.println(Demo.val_1);       System.out.println("The value of first variable accessed using the object : ");       System.out.println(obj_1.val_2);    } }

আউটপুট

The value of first variable is : 1 The value of first variable accessed using the object : 95

Demo নামক একটি ক্লাসে ভেরিয়েবল এবং 'Demo' নামক একটি কনস্ট্রাক্টর থাকে যা একটি ক্লাস ভেরিয়েবলের মান অন্য একটি ক্লাস ভেরিয়েবলে অ্যাসাইন করতে ব্যবহৃত হয়। main ফাংশনে ক্লাসের দুটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং তাদের মান কনসোলে দেখানো হয়েছে।


  1. জাভাতে ভেরিয়েবলের স্কোপ এবং লাইফটাইম

  2. জাভাতে স্ট্যাটিক বাইন্ডিং এবং ডাইনামিক বাইন্ডিং

  3. জাভাতে ব্ল্যাঙ্ক ফাইনাল ভেরিয়েবল ইনিশিয়ালাইজ করা যায় কি

  4. জাভাতে ফাইনাল ভেরিয়েবল