Có thể không thực hiện được các bước sau (Tôi nhận được lỗi biên dịch: "Phương thức kế thừa A.doSomthing (int) không thể ẩn phương thức trừu tượng công khai trong B"):Java: mở rộng một lớp và triển khai một giao diện có cùng phương thức
public class A {
int doSomthing(int x) {
return x;
}
}
public interface B {
int doSomthing(int x);
}
public class C extends A implements B {
//trying to override doSomthing...
int doSomthing(int x) {
return doSomthingElse(x);
}
}
giả sử tôi được phép thay đổi không phải A hoặc B, câu hỏi của tôi là tôi làm cách nào xác định C trong một cách như vậy mà nó sẽ thừa hưởng từ cả hai A và B (giả sử rằng nó là cần thiết đối với một số khuôn khổ C sẽ là cả hai thể hiện của A và B).
Hoặc nếu không, bạn sẽ giải quyết vấn đề này bằng cách nào?
Cảm ơn!
Đề nghị thông báo lỗi của bạn. Không có gì rõ ràng là sai ở đây, ngoại trừ có lẽ một thiếu sót @Overrides nếu bạn đang sử dụng 1,6. – bmargulies
@ bmargulies, không có 'công khai' và ghi đè chỉ là một sự phiền toái tùy chọn. – bestsss