다음 질문에 대한 코드를 작성하려고합니다 : 몇 명의 직원의 empno, DOB 및 월급을 얻기위한 WAP. 두 개의 익명 내부 클래스를 작성하십시오. 하나는 DOB별로 직원을 분류하는 인터페이스를 구현하는 클래스이고 다른 하나는 익명 내부 클래스로 클래스를 확장하여 임금 당 직원을 분류합니다. 내 코드는 다음과 같습니다자바의 익명 클래스 메소드를 호출하십시오
//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