জাভা স্ট্যাটিক পরিবর্তনশীল পদ্ধতিগুলি থেকে দেখুন :
- এটি একটি পরিবর্তনশীল যা শ্রেণীর অন্তর্গত এবং না আপত্তি (উদাহরণ)
- স্ট্যাটিক ভেরিয়েবলগুলি একবার কার্যকর করা শুরু হওয়ার পরে শুরু হয়। এই ভেরিয়েবলগুলি কোনও ইন্সট্যান্ট ভেরিয়েবলের সূচনা করার আগে প্রথমে আরম্ভ করা হবে
- ক্লাসের সমস্ত দৃষ্টান্ত দ্বারা ভাগ করার জন্য একটি একক অনুলিপি
- একটি স্ট্যাটিক ভেরিয়েবল সরাসরি শ্রেণীর নাম দ্বারা অ্যাক্সেস করা যায় এবং কোনও বস্তুর প্রয়োজন হয় না।
উদাহরণস্বরূপ এবং বর্গ (স্থিতিশীল) ভেরিয়েবলগুলি আপনি উদ্দেশ্যমূলকভাবে আরম্ভ করতে ব্যর্থ হলে স্বয়ংক্রিয়ভাবে স্ট্যান্ডার্ড ডিফল্ট মানগুলিতে আরম্ভ হয় ized স্থানীয় ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে আরম্ভ না হওয়া সত্ত্বেও আপনি এমন একটি প্রোগ্রাম সংকলন করতে পারবেন না যা স্থানীয় ভেরিয়েবলটি আরম্ভ করতে ব্যর্থ হয় বা স্থানীয় ভেরিয়েবলটি ব্যবহারের আগে একটি মান নির্ধারণ করতে ব্যর্থ হয়।
সংকলক আসলে যা করে তা হ'ল অভ্যন্তরীণভাবে একটি একক শ্রেণির সূচনা রুটিন উত্পাদন করা যা সমস্ত স্ট্যাটিক ভেরিয়েবল ইনিশিয়েলাইজার এবং কোডের সমস্ত স্ট্যাটিক ইনিশিয়ালাইজার ব্লককে একত্রিত করে যাতে তারা শ্রেণি ঘোষণায় প্রদর্শিত হয়। এই একক প্রারম্ভিককরণ পদ্ধতিটি ক্লাসটি প্রথম লোড হওয়ার পরে কেবল একবারে স্বয়ংক্রিয়ভাবে চালিত হবে।
ক্ষেত্রে ভেতরের ক্লাস, তারা স্ট্যাটিক ক্ষেত্র থাকতে পারে না
একটি অভ্যন্তর শ্রেণি হল একটি নেস্টেড বর্গ যা স্পষ্টভাবে বা স্পষ্টভাবে ঘোষিত হয় না static
।
...
অভ্যন্তরীণ ক্লাসগুলি স্ট্যাটিক ইনিশিয়ালাইজার (§8.7) বা সদস্য ইন্টারফেস ঘোষণা করতে পারে না ...
অভ্যন্তরীণ ক্লাসগুলি স্থির সদস্যদের ঘোষণা করতে পারে না, যদি না তারা ধ্রুবক পরিবর্তনশীল হয় ...
জেএলএস 8.1.3 অভ্যন্তরীণ ক্লাস এবং সংযুক্তকরণ উদাহরণগুলি দেখুন
final
জাভাতে ক্ষেত্রগুলি তাদের ঘোষণার জায়গা থেকে আলাদাভাবে আরম্ভ করা যেতে পারে তবে এটি static final
ক্ষেত্রগুলিতে প্রযোজ্য নয় । নীচে উদাহরণ দেখুন।
final class Demo
{
private final int x;
private static final int z;
static
{
z = 10;
}
public Demo(int x)
{
this.x=x;
}
}
এর কারণ হ'ল এখানে প্রকারের সাথে সম্পর্কিত ভেরিয়েবলগুলির কেবলমাত্র একটি অনুলিপি রয়েছে static
, পরিবর্তে প্রতিটি উদাহরণের সাথে যেমন উদাহরণ ভেরিয়েবলগুলির সাথে যুক্ত হয় এবং যদি আমরা কনস্ট্রাক্টরের মধ্যে z
প্রকারের আরম্ভ করার চেষ্টা করি static final
, তবে এটি static final
টাইপ ক্ষেত্রটিকে পুনরায় প্রবর্তন করার চেষ্টা করবে z
কারণ নির্মাণকারীর ক্লাসের প্রতিটি ইনস্ট্যান্টেশন চালানো হয় যা অবশ্যই স্থির final
ক্ষেত্রগুলিতে ঘটে না ।