我试图理解为什么我的代码导致编译器错误。有人可以向我解释吗?
public class Employee {
private String name;
public Employee(String name) {
this.name = name;
}
}
public class Test {
public static void main(String[] JavaLatte) {
Employee e = new Employee("JavaDeveloper");
System.out.println("Emp Name : " + e.name);
}
}
答案 0 :(得分:2)
您没有说出什么错误,但我想我知道了。
System.out.println("Emp Name : " + e.name);
-name
的{{1}}属性是e
。
这意味着您不能直接在另一个类中访问它。您需要使用吸气剂。
private
这样访问:public class Employee {
private String name;
public Employee(String name) { this.name = name; }
public String getName(){ return name; }
}
还可以更改需要设置员的财产的价值。
e.getName();
答案 1 :(得分:1)
我看到2个问题:
答案 2 :(得分:0)
当您将访问说明指定为私有时,它将不会编译。
您在这里有很多选择
选项1:根据需要使用相应的访问说明,例如public / protected / default。
选项2:为该变量生成的公共getter和setter方法,以访问变量名。