我正在嘗試編寫以下問題的代碼: 用於獲取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