标识符预期?
Identifier expected?
给定以下代码:
public class Test1 {
int i;
i = 4;
}
public class Test2 {
public static void main(String[] args) {
Test1 t1 = new Test1();
System.out.println(t1.i);
}
}
为什么我尝试编译 Test2 时得到以下信息?
./Test1.java:3: error: <identifier> expected
i = 4;
^
./Test1.java:3: error: cannot find symbol
i = 4;
^
symbol: class i
location: class Test1
2 errors
您不能在 class 正文中分配变量。试试这个:
public class Test1 {
int i;
{
i = 4;
}
}
作为替代方案,您可以在构造函数中或在 setter 方法中分配 i
:
public class Test1 {
int i;
public Test1(int i) {
this.i = i;
}
public void setI(int i) {
this.i = i;
}
}
您在 class 内声明 "int i"。您可以随声明一起分配或使用 getter 和 setter.
public class Test1 {
int i = 4;
}
或
public class Test1 {
private int i = 4;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
给定以下代码:
public class Test1 {
int i;
i = 4;
}
public class Test2 {
public static void main(String[] args) {
Test1 t1 = new Test1();
System.out.println(t1.i);
}
}
为什么我尝试编译 Test2 时得到以下信息?
./Test1.java:3: error: <identifier> expected
i = 4;
^
./Test1.java:3: error: cannot find symbol
i = 4;
^
symbol: class i
location: class Test1
2 errors
您不能在 class 正文中分配变量。试试这个:
public class Test1 {
int i;
{
i = 4;
}
}
作为替代方案,您可以在构造函数中或在 setter 方法中分配 i
:
public class Test1 {
int i;
public Test1(int i) {
this.i = i;
}
public void setI(int i) {
this.i = i;
}
}
您在 class 内声明 "int i"。您可以随声明一起分配或使用 getter 和 setter.
public class Test1 {
int i = 4;
}
或
public class Test1 {
private int i = 4;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}