如下代码,输出结果是什么? public class Test { public int aMethod() { static int i = 0; i++; return i; } public static void main (String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } }
时间: 2024-01-13 07:05:38 浏览: 125
Java之数组+变量.docx
这段代码是有语法错误的,因为在方法 aMethod() 中定义了一个静态变量 i,但是静态变量不能在方法中定义,只能在类中定义。
如果将静态变量 i 定义在类中,则输出的结果是 2。因为第一次调用 aMethod() 方法时,i 的值从 0 变为 1,并将 1 返回;第二次调用 aMethod() 方法时,i 的值从 1 变为 2,并将 2 返回。最后输出的 j 的值是 2。以下是修正后的代码:
```
public class Test {
static int i = 0;
public int aMethod() {
i++;
return i;
}
public static void main (String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
```
阅读全文