Java “Final” Keyword
Java language में final keyword का प्रयोग constant को denote करने के लिए किया जाता है। अर्थात यदि आपने final keyword की सहायता से कोई variable बनाया है तो variable को एक बार assign की गई वैल्यू को आप change नहीं कर सकते।
यदि हमारे पुरे प्रोग्राम मे कोई कोई ऐसी value हो जो कि पुरे प्रोग्राम के लिए Same रहे तो आप final keyword का उपयोग कर सकते हैं। ऐसा करने से वह वैल्यू पुरे प्रोग्राम के लिए constant हो जाएगी।
final keyword का प्रयोग केवल variables, classes और methods में किया जा सकता है।
Java “final” variable :
यदि आप final keyword की सहायता से किसी भी variable को final variable बनाते हैं, तो आप final variable के मान को नहीं बदल सकते हैं । (यह constant हो जाता है। )
final keyword को हम एक प्रोग्राम से समझने की कोशिश करते है।
class Example{ public static void main(String args[]){ final int age = 15; a = 25; System.out.println("Value of a : " + a); } } Output : Sample.java:5: error: cannot assign a value to final variable a a = 10; ^ 1 error
ऊपर दिए गए प्रोग्राम मे error आने का कारण है की एक बार यदि final variable को कोई वैल्यू assign की जाती है तो उसे चेंज नहीं कर सकते।
Note : final variable को declare करते समय initialize भी करना चाहिए. अगर हम initialize नहीं करते है तो इसे blank final keyword कहा जाता है। .
blank final keyword को हम एक प्रोग्राम से समझने की कोशिश करते है।
class Example{
public static void main(String args[]){
final int age; // blank final keyword
age = 15;
System.out.println("Value of age : " + a);
}
}
OUTPUT :
Value of age : 15
Java “final” Method :
यदि आप किसी method को final method बनाते हैं, तो आप उसे ओवरराइड नहीं कर सकते। इसका मतलब है कि एक child class द्वारा अपने parent class के final method को call किया जा सकता है लेकिन उसे override नहीं किया जा सकता।
class A{ public final void disp(){ System.out.println("In class A"); } } class B extends A{ public void disp(){ System.out.println("In class B"); } } public class Sample{ public static void main(String args[]) { B b = new B(); b.disp(); } } OUTPUT : Sample.java:8: error: disp() in B cannot override disp() in A public void disp(){ ^ overridden method is final 1 error
Java “final” Class :
यदि आप किसी class को final class बनाते हैं, तो आप उसे inherit/extend नहीं कर सकते। अगर कोई final class को inherit करता है तो compile time error आती है
final class Bike{}
class Honda1 extends Bike{
void run(){System.out.println("running safely with 100kmph");}
public static void main(String args[]){
Honda1 honda= new Honda1();
honda.run();
}
}
OUTPUT :
compile time error
RECOMMENDED POST :