কোনও ভেরিয়েবলকে ঘোষিত ঘোষণার চেয়ে private static varName;
আলাদা বলে ঘোষণা করা private varName;
কি?
হ্যাঁ, উভয়ই আলাদা। এবং প্রথমটিকে বলা হয় class variable
কারণ এটির জন্য এটি একক মান রাখে class
অন্যদিকে বলা হয় instance variable
কারণ এটি আলাদা আলাদা মান রাখতে পারে instances(Objects)
। প্রথমটি শুধুমাত্র একবার jvm এ তৈরি করা হয় এবং অন্যটি একবারে একবারে তৈরি করা হয় অর্থাত্ আপনার যদি 10 টি উদাহরণ থাকে তবে আপনার private varName;
jvm তে 10 টি আলাদা থাকবে ।
ভেরিয়েবল হিসাবে ঘোষণা করা কি static
এটিকে অন্যান্য বিশেষ বৈশিষ্ট্য দেয়?
হ্যাঁ, স্ট্যাটিক ভেরিয়েবলগুলি সাধারণ উদাহরণের ভেরিয়েবলের চেয়ে কিছু আলাদা বৈশিষ্ট্য পায়। আমি ইতিমধ্যে কয়েকটি উল্লেখ করেছি এবং আসুন এখানে class variables
কিছুটি দেখুন: (উদাহরণস্বরূপ ভেরিয়েবলগুলি যা স্থির হিসাবে ঘোষিত হয়) শ্রেণীর নাম ব্যবহার করে সরাসরি অ্যাক্সেস করা যায় ClassName.varName
। এবং এই শ্রেণীর যে কোনও অবজেক্ট তার মানটি অ্যাক্সেস করতে এবং সংশোধন করতে পারে উদাহরণের ভেরিয়েবলের বিপরীতে কেবলমাত্র তার সম্পর্কিত বস্তুগুলি অ্যাক্সেস করতে পারে। ক্লাস ভেরিয়েবল স্থিতিশীল পদ্ধতিতে ব্যবহার করা যেতে পারে।
private static variable
জাভাতে কোনটির ব্যবহার কী ?
যৌক্তিকভাবে, প্রথমটি আপনাকে আরও নিয়ন্ত্রণ দেয় তার চেয়ে private static variable
আলাদা public static variable
নয়। আইএমও, আপনি আক্ষরিক প্রতিস্থাপন করতে পারেন public static variable
দ্বারা private static variable
সাহায্যে public static
গেটার এবং সেটার পদ্ধতি।
এর একটি বহুল ব্যবহৃত ক্ষেত্র private static variable
হ'ল সাধারণ Singleton
প্যাটার্ন প্রয়োগ করা যেখানে আপনার কাছে পুরো বিশ্বে এই শ্রেণীর একমাত্র উদাহরণ থাকবে। এখানে static
একক দৃষ্টিকোণ বাইরের বিশ্বের দ্বারা অ্যাক্সেসযোগ্য হয়ে উঠতে এখানে সনাক্তকারী গুরুত্বপূর্ণ ভূমিকা পালন করে (অবশ্যই পাবলিক স্ট্যাটিক গেটর পদ্ধতিটিও মুখ্য ভূমিকা পালন করে)।
public class Singleton {
private static Singleton singletonInstance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return Singleton.singletonInstance;
}
}