Tôi có đoạn mã sau đây được lấy từ một kỳ thi mock cho Sun Certified Java Programmer:Java Phạm vi tĩnh
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;
}
}
Bài kiểm tra sẽ yêu cầu bạn cho là kết quả của dòng này:
System.out.println(x + y + ++x);
Câu trả lời là 3, nhưng tôi không hiểu tại sao lại là 3. Tôi có thể đến câu trả lời đó nếu tôi hoàn toàn bỏ qua:
static
{
int x = 5;
}
Câu hỏi của tôi là, ý nghĩa của đoạn mã trên là gì? Tại sao nó không thay đổi giá trị của biến 'x'?
@anonymous, nhờ tôi nhận được nó . Nó là phạm vi, vì vậy biến không tồn tại sau phạm vi. – czchlong