मैं कोड का निम्न भाग है कि सूर्य प्रमाणित जावा प्रोग्रामर के लिए एक नकली परीक्षा से लिया जाता है है:जावा स्थिर scoping
System.out.println(x + y + ++x);
:
public class Static
{
static
{
int x = 5;
}
static int x,y;
public static void main(String args[])
{
x--; myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}
परीक्षण इस लाइन के परिणाम के लिए आपसे पूछता है
जवाब 3 है, लेकिन मैं पूरी तरह से समझ में नहीं आता क्यों यह 3. है मुझे लगता है कि इस सवाल का जवाब पर पहुंच सकते हैं, तो मैं पूरी तरह से उपेक्षा:
static
{
int x = 5;
}
मेरा सवाल है, उपर्युक्त कोड स्निपेट का अर्थ क्या है? यह चर 'x' के मान को क्यों नहीं बदलता है?
@anonymous है, धन्यवाद मैं समझ गया । यह scoped है, तो चर के दायरे के बाद चर मौजूद नहीं है। – czchlong