以下代码给出错误:
public class Test {
public Test(int Age){
int age = Age ;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test gg = new Test(5);
System.out.println(gg.age);
}
}
错误是
年龄无法解决或不是字段
我如何访问Test.age
?
答案 0 :(得分:3)
你没有让age
成为一个字段。只是构造函数的局部变量。我想你想要的东西,
public class Test {
int age; // <-- a field. Default access for this example. private or protected
// would be more typical, but package level will work here.
public Test(int Age){
this.age = Age; // <-- "this." is optional, but indicates a field.
}
public static void main(String[] args) {
Test gg = new Test(5);
System.out.println(gg.age);
}
}
答案 1 :(得分:0)
age
中没有字段Test
。 age
的构造函数中有一个名为Test
的参数,但没有字段。您可以使用以下行声明年龄:
private int age;
插入到构造函数的第一行上方,这将是实例变量的正常位置。
答案 2 :(得分:-1)
您缺少类字段,age是方法的本地,并且对于同一个类或类之外的任何其他方法都无法访问。它只存在于Test构造函数中。
public class Test {
public int age;
public Test(int Age){
age = Age ;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test gg = new Test(5);
System.out.println(gg.age);
}
}