- - ट्यूटोरियल: जावा में कीवर्ड "फाइनल"

ट्यूटोरियल: जावा में कीवर्ड "फाइनल"

इस समय तक, मुझे आशा है कि आप वार्तालाप कर चुके हैंस्थैतिक और जावा में जैसे कीवर्ड के साथ। जावा प्रोग्रामिंग लैंग्वेज में ’फाइनल’ एक कीवर्ड है जो विभिन्न उद्देश्यों के लिए उपयोग किया जाता है और यहां उन सभी संदर्भों की सूची दी गई है जहां हम निम्नलिखित का उपयोग करते हैं:

  • अंतिम चर को संशोधित नहीं किया जा सकता है, फिर से आरंभ नहीं किया जा सकता है।
  • अंतिम विधियों को ओवरराइड नहीं किया जा सकता है।
  • अंतिम कक्षाएं विरासत में नहीं मिल सकती हैं।

अब हम इन सभी संदर्भों को समझेंगे, प्रत्येक संदर्भ के लिए निम्नलिखित उदाहरणों का उपयोग करते हुए:

कार्यक्रम

1. अंतिम चर के लिए कार्यक्रम

public class Circle{
public static void main(String args[]){
final double PI = 3.14;
final double radius = 3.50;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
radius = 3.75;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
}
}

अंतिम चर के लिए कार्यक्रम

2. अंतिम विधि के लिए कार्यक्रम

public class Figure {
final public double calculateArea(double radius){
return Math.pow(radius,2);
}
}
class Circle extends Figure{
public double  calculateArea(double radius){
System.out.println("Overriding Not Allowed");    /*  calculateArea() can not be overridden */
}
}
class Main{
public static void main(String args[]){
Circle circle = new Circle();
circle.calculateArea(1.23);
}
}

अंतिम विधि के लिए कार्यक्रम

3. फाइनल क्लास के लिए कार्यक्रम

final class Circle{
final double PI = 3.14;
double calculateArea(double radius){
return (PI*Math.pow(radius,2));
}
}
class Cylinder extends Circle{
double height = 10.0;
double calculateArea(double radius){
return 2*((PI*Math.pow(radius,2))+(PI*radius*height));
}
}
class Main{
public static void main(String args[]){
Cylinder cylinder = new Cylinder();
cylinder.calculateArea(3.11);
}
}

फाइनल क्लास के लिए कार्यक्रम

व्याख्या

यदि अंतिम का उपयोग करके चर को अंतिम घोषित किया जाता हैकीवर्ड, इसे केवल एक बार प्रारंभ किया जा सकता है और आम तौर पर इसे घोषणा के दौरान परिभाषित किया जाता है। यदि घोषणा के दौरान इसे आरंभ नहीं किया जाता है, तो अंतिम रिक्त चर को निर्माणकर्ताओं के भीतर परिभाषित किया जाना चाहिए अन्यथा इसे संकलन-समय त्रुटि मिलेगी।

एक बार इसे परिभाषित करने के बाद, इसे फिर से शुरू किया जा सकता है। यदि प्रारंभ किया जाता है, तो संकलन त्रुटि होगी। पहले प्रोग्राम के आउटपुट से इसे आसानी से बनाया जा सकता है।

यदि विधियों को अंतिम का उपयोग करके अंतिम घोषित किया जाता हैकिसी कक्षा में कीवर्ड, इसे ओवरलोड किया जा सकता है लेकिन इसे ओवरराइड नहीं किया जा सकता है। ऊपर दिए गए उदाहरण में, हमने अंतिम गणनाआरा () को चित्रा वर्ग में परिभाषित किया है, जो वर्ग सर्कल वर्ग में विरासत में मिला और अधिभूत नहीं किया जा सकता क्योंकि यह संकलन-समय की त्रुटि देता है।

अंतिम के रूप में घोषित करने के तरीकेनिजी विधि लेकिन चर के लिए यह सही नहीं है और अंतिम चर निरंतर चर के बराबर नहीं है, जबकि अंतिम रूप में सरणी की घोषणा करते हुए, सरणी वस्तु की स्थिति को संशोधित किया जा सकता है यानी संशोधित करने के लिए उत्परिवर्तित किया जा सकता है, इसलिए इसे बनाना होगा अपरिवर्तनीय लेकिन जब किसी सरणी को स्थिर घोषित किया जाता है, तो इसे वैसे भी संशोधित नहीं किया जा सकता है।

एक वर्ग की विरासत को रोकने के लिए,संबंधित वर्ग को अंतिम घोषित किया गया है। यहां तीसरे प्रोग्राम में, हमने फाइनल क्लास को इनहेरिट करने की कोशिश की, लेकिन हमें कंपाइल एरर मिला, जिसमें कहा गया था कि "फाइनल सर्किल से वारिस नहीं हो सकता", कंप्लेन करते समय स्क्रीन-शॉट से देखा जा सकता है।

इसलिए यहाँ फाइनल पर गहन चर्चा की गई है और मुझे लगता है कि यह जावा और इसके सभी उपयोगों में अंतिम रूप से समझने में आपकी बहुत मदद करेगा।

टिप्पणियाँ