我正在尝试编写以下问题的代码: 用于获取empno,DOB和少数员工工资的WAP。 编写两个匿名内部类,一个实现按照其DOB排序员工的接口,另一个匿名内部类扩展一个类,按员工薪水对员工进行排序。 我的代码是:在java中调用匿名类方法
//required import statements
public class OuterClass {
private int empno;
private String DOB;
private int salary;
public OuterClass() {
// TODO Auto-generated constructor stub
}
public OuterClass(int empn, String dob, int sal) {
//code for paramaterized constructor
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<OuterClass> list = new ArrayList<OuterClass>();
while (true) {
//code for input from user and adding it in list
}
}
Employee abc = new Employee() {
@Override
void SalarySort(List<OuterClass> l) {
Collections.sort(l, new Comparator<OuterClass>() {
public int compare(OuterClass e1, OuterClass e2) {
return e1.salary - e2.salary;
}
});
Iterator<OuterClass> itr = l.iterator();
while (itr.hasNext()) {
OuterClass employee = (OuterClass) itr.next();
System.out.println("Emp no : " + employee.empno + " Emp dob : "
+ employee.DOB + " Emp Salary : " + employee.salary);
}
}
}.SalarySort(list);// compile error : create local field list
}
class Employee {
void SalarySort(List<OuterClass> l) {
}
}
我的问题是,我不能称之为匿名类员工的方法SalarySort,如何解决这个问题呢?
1.代码的(非)缩进使得它非常难以遵循。 2.如果问题是关于匿名类的,那么去除所有其他不相关的部分怎么样? –
3.什么是错误信息? – Joni
4.为什么上帝为什么? – christopher