私は次の質問のコードを書こうとしています: WAP to get empno,DOB and 少数の従業員の給料. 2 つの匿名内部クラスを作成します。1 つは従業員を生年月日に従って並べ替えるインターフェイスを実装し、もう 1 つはクラスを拡張して従業員を給与に従って並べ替える匿名内部クラスです。私のコードは次のとおりです。
//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) {
}
}
私の質問は、匿名クラスの Employee のメソッド SalarySort を呼び出すことができません。問題を解決するにはどうすればよいですか?