我的文件无法编译,我一直收到一条消息说:
在//HERE的主方法中,"无法对非静态字段employeeList进行静态引用"。
我做错了什么?
LinkedList数据应该是String还是Employee??
public class TrainingCourses {
/* this is the list of employees
* */
private LinkedList<Employee> employeeList;
您正在访问employeeList
,而没有创建TrainingCourses
的对象。按如下方式更改代码。
TrainingCourses objTrainingCourses = new TrainingCourses ();
objTrainingCourses.employeeList(new Employee(i));
或使employeeList
静态变量
您正在从静态方法中调用实例方法和字段
更改此
private LinkedList<Employee> employeeList;
到此:
private static LinkedList<Employee> employeeList;
您的Trainingcourses类拥有一个LinkedList字段employeeList,但没有允许TrainingCourse对象的用户访问或更改包含的链表状态的实例(非静态)方法。
虽然其他人在这里建议的一个解决方案是使LinkedList静态,但也许更好的解决方案是通过重新思考您的设计并为Trainingcourses类提供一些实例方法和可能的字段,使TrainingCourse成为一个符合OOP的类。
然后,您可以创建Trainingcourses的一个实例并调用其方法。