एक्सेस मोडिफायर्स
एक्सेस मोडिफायर्स वे कीवर्ड्स हैं जिनका उपयोग क्लासेस, वेरिएबल्स, मेथड्स, और कंस्ट्रक्टर्स के साथ उनके एक्सेस लेवल को नियंत्रित करने के लिए किया जाता है।
Java में चार एक्सेस मोडिफायर्स हैं।
Default
जब कोई एक्सेस मोडिफायर निर्दिष्ट नहीं किया जाता, तो जावा इसे डिफ़ॉल्ट मोडिफायर मानता है। डिफ़ॉल्ट मोडिफायर का स्कोप पैकेज के भीतर सीमित होता है।Public
पब्लिक मोडिफायर का स्कोप हर जगह एक्सेस करना है और पैकेज के बाहर भी।Private
प्राइवेट मोडिफायर का स्कोप क्लास के भीतर ही एक्सेस करना है।Protected
प्रोटेक्टेड मोडिफायर का स्कोप पैकेज के भीतर और सभी सबक्लासेस तक सीमित होता है।
नॉन-एक्सेस मोडिफायर्स
नॉन-एक्सेस मोडिफायर्स वे कीवर्ड्स हैं जिनका एक्सेस लेवल से कोई संबंध नहीं है लेकिन वे निर्दिष्ट होने पर विशेष कार्यक्षमता प्रदान करते हैं।
Final
Final कीवर्ड का उपयोग वेरिएबल, मेथड या क्लास के साथ किया जा सकता है। यह इसकी सामग्री को संशोधित होने से रोकता है। क्लास के साथ घोषित होने पर, यह क्लास को एक्सटेंड होने से रोकता है।Static
Static मोडिफायर का उपयोग क्लास वेरिएबल्स और मेथड्स के साथ किया जाता है जिन्हें क्लास के इंस्टेंस के बिना एक्सेस किया जा सकता है। Static वेरिएबल्स का केवल सिंगल स्टोरेज होता है। सभी ऑब्जेक्ट्स static वेरिएबल के सिंगल स्टोरेज को शेयर करते हैं। उन्हें किसी ऑब्जेक्ट के बिना सीधे एक्सेस किया जा सकता है। Static मेथड्स भी डिक्लेयर किए जा सकते हैं। main() मेथड लोकप्रिय static मेथड है। Static ब्लॉक्स भी डिक्लेयर किए जा सकते हैं और main() मेथड से पहले निष्पादित होते हैं।Abstract
Abstract का उपयोग क्लास और मेथड्स के साथ किया जा सकता है। एक एब्सट्रैक्ट क्लास को कभी इंस्टेंशिएट नहीं किया जा सकता और इसका उद्देश्य केवल एक्सटेंड होना है। एब्सट्रैक्ट मेथड्स बिना बॉडी के घोषित किए जाते हैं और सेमीकॉलन से समाप्त होते हैं। यदि एक क्लास में एब्सट्रैक्ट मेथड है, तो उसे भी एब्सट्रैक्ट के रूप में निर्दिष्ट किया जाना चाहिए। एक क्लास जो एब्सट्रैक्ट क्लास को एक्सटेंड करती है, उसके सभी एब्सट्रैक्ट मेथड्स को इम्प्लीमेंट करना चाहिए।Synchronized
यह इंगित करता है कि मेथड को एक समय में केवल एक थ्रेड द्वारा एक्सेस किया जा सकता है।Transient
एक इंस्टेंस वेरिएबल को transient के रूप में मार्क किया जाता है ताकि JVM को उस विशेष वेरिएबल को स्किप करने के लिए कहा जा सके जब उसे शामिल करने वाले ऑब्जेक्ट को सीरियलाइज़ किया जा रहा हो।Volatile
Volatile कीवर्ड का उपयोग Java वेरिएबल को "मेन मेमोरी में स्टोर्ड होने" के रूप में मार्क करने के लिए किया जाता है। इसका अर्थ है कि volatile वेरिएबल का हर रीड कंप्यूटर के मेन मेमोरी से पढ़ा जाएगा न कि CPU कैश से और volatile वेरिएबल के लिए राइट्स मेन मेमोरी में लिखे जाएंगे न कि केवल CPU कैश में।Strictfp
Java में Strictfp कीवर्ड सुनिश्चित करता है कि यदि आप फ्लोटिंग-पॉइंट वेरिएबल में ऑपरेशन्स करते हैं तो आपको हर प्लेटफॉर्म पर समान परिणाम मिलेगा।