संभावित डुप्लिकेट:
Cannot refer to a non-final variable inside an inner class defined in a different method
Why inner classes require “final” outer instance variables [Java] ?जावा इनर क्लासेस
class MyOuter {
private String x = "Outer";
void doStuff(){
final String z = "local variable";
class MyInner {
public void seeOuter(){
System.out.println("Outer x is" + x);
System.out.println("Local variable z is" + z); // does
// not compile if final keyword from String z is removed
}
}
}
}
उपरोक्त कोड ठीक काम करता है। मैं जानना चाहता हूं कि अगर मैं स्ट्रिंग जेड से अंतिम कीवर्ड हटा देता हूं तो संकलक एक त्रुटि क्यों देता है। अंतिम कीवर्ड बनाने में क्या अंतर है?