英文:
Java problem : No enclosing instance of type EmployeeTest is accessible
问题
public class EmployeeTest {
public static void main(String[] args) {
Employee[] staff = new Employee[1];
staff[0] = new Employee("Carl Cracker", 75000);
for (Employee e : staff)
System.out.println("name=" + e.getName() + ",salary=" + e.getSalary());
}
class Employee {
private String name;
private double salary;
public Employee(String n, double s) {
name = n;
salary = s;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
}
}
抱歉,当我运行代码时,结果是:
类型EmployeeTest的封闭实例不可访问。 必须使用类型EmployeeTest的封闭实例限定分配(例如,x.new A(),其中x是EmployeeTest的实例)。
我确信我的代码非常简单易懂,所以我对为什么会出现这个错误感到非常困惑。
您能否给我一些建议?非常感谢!
英文:
I am working with Java and trying to write a very simple test code like this to test and I thought that there was no problem but there was one problem.
public class EmployeeTest {
public static void main(String[] args){
Employee[] staff = new Employee[1];
staff[0] = new Employee("Carl Cracker", 75000);
for (Employee e : staff)
System.out.println("name=" + e.getName() + ",salary=" + e.getSalary());
}
class Employee
{
private String name;
private double salary;
public Employee(String n, double s)
{
name = n;
salary = s;
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
}
}
Unfortunately, when I ran my code, the result is
No enclosing instance of type EmployeeTest is accessible. Must qualify the allocation with an enclosing instance of type EmployeeTest (e.g. x.new A() where x is an instance of EmployeeTest).
I am sure that my code is very simple and easy to understand, so I am very confusing that why I had that error?
Could you please give me some comments ? Thank you very much!
答案1
得分: 1
给class Employee
添加属性static
,否则它是一个非静态内部类,需要从EmployeeTest
的实例化对象中实例化,而这个对象在*EmployeeTest.main
*中是不存在的。
英文:
Add the attribute static
to class Employee
otherwise it's a non static inner class which needs to be instantiated from an instance of EmployeeTest
, which does not exist in EmployeeTest.main
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论