জাভা স্থির:
স্ট্যাটিক একটি নন অ্যাক্সেস মডিফায়ার। স্ট্যাটিক কীওয়ার্ডটি ক্লাসের উদাহরণের চেয়ে ক্লাসের অন্তর্গত। কোনও শ্রেণীর সাথে একটি চলক বা পদ্ধতি সংযুক্ত করতে ব্যবহার করা যেতে পারে।
স্ট্যাটিক কীওয়ার্ড এর সাথে ব্যবহার করা যেতে পারে:
পদ্ধতি
পরিবর্তনশীল
ক্লাস অন্য ক্লাসের মধ্যে বাসা বাঁধে
সূচনা ব্লক
এর সাথে ব্যবহার করা যাবে না:
ক্লাস (নেস্টেড নয়)
নির্মাতা
ইন্টারফেস
পদ্ধতি স্থানীয় অভ্যন্তর শ্রেণি (পার্থক্য তারপর নেস্টেড বর্গ)
ইনার ক্লাস পদ্ধতি
উদাহরণস্বরূপ ভেরিয়েবল
স্থানীয় চলক
উদাহরণ:
নিম্নলিখিত উদাহরণটি কল্পনা করুন যার একটি পরিবর্তনশীল নাম গণনা রয়েছে যা কনস্ট্রাক্টরে বৃদ্ধি পেয়েছে:
package pkg;
class StaticExample {
int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
আউটপুট:
1 1 1
যেহেতু অবজেক্ট ভেরিয়েবলটি অবজেক্ট তৈরির সময় স্মৃতি পেয়ে যায়, তাই প্রতিটি বস্তুর ইনস্ট্যান্স ভেরিয়েবলের অনুলিপি থাকবে, যদি এটি বৃদ্ধি করা হয়, তবে এটি অন্য বস্তুর প্রতিফলন করে না।
এখন যদি আমরা উদাহরণের পরিবর্তনশীল গণনাটিকে একটি স্থিতিশীল রূপে পরিবর্তন করি তবে প্রোগ্রামটি বিভিন্ন আউটপুট তৈরি করবে:
package pkg;
class StaticExample {
static int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
আউটপুট:
1 2 3
এক্ষেত্রে স্ট্যাটিক ভেরিয়েবল কেবল একবারেই মেমরিটি পাবে, যদি কোনও বস্তু স্থিতিশীল ভেরিয়েবলের মান পরিবর্তন করে তবে এটি তার মান ধরে রাখতে পারে।
ফাইনাল সহ স্থির:
চূড়ান্ত এবং স্থির হিসাবে ঘোষিত গ্লোবাল ভেরিয়েবল পুরো সম্পাদনার জন্য অপরিবর্তিত রয়েছে। কারণ, স্ট্যাটিক সদস্যগণ বর্গ মেমরিতে সঞ্চিত থাকে এবং তারা পুরো সম্পাদনায় একবারে লোড হয়। তারা শ্রেণীর সমস্ত বস্তুর কাছে সাধারণ। আপনি যদি স্থিতিশীল ভেরিয়েবলগুলি চূড়ান্ত হিসাবে ঘোষণা করেন তবে যে কোনও বস্তু চূড়ান্ত হওয়ায় তাদের মান পরিবর্তন করতে পারে না। অতএব, চূড়ান্ত এবং স্থির হিসাবে ঘোষিত ভেরিয়েবলগুলি কখনও কখনও কনস্ট্যান্ট হিসাবে উল্লেখ করা হয়। ইন্টারফেসের সমস্ত ক্ষেত্রকে ধ্রুবক হিসাবে উল্লেখ করা হয়, কারণ সেগুলি ডিফল্টরূপে চূড়ান্ত এবং স্থির।
চিত্র সংস্থান: চূড়ান্ত স্ট্যাটিক