Tôi đang cố gắng triển khai và ghi đè phương thức với các loại trả về khác nhau mà không bị ép buộc loại trả về.Các kiểu trả về khác nhau của phương thức trừu tượng trong java mà không cần đúc
public abstract class A {
public abstract Object getValue(String content);
}
public class B extends A {
public String getValue(String content) {...}
}
public class C extends A {
public int getValue(String content) {...}
}
public class D extends A {
public boolean getValue(String content) {...}
}
// Main loop:
for (A a : allAs)
{
// I want to use the method getValue() and corresponding to the type return a String, int or boolean without casting the return type
}
Câu hỏi của tôi: Có thể trả lại các loại khác nhau mà không bị ép buộc không? Phương pháp trừu tượng trông như thế nào để giải quyết vấn đề?
Tôi nghĩ rằng phải có giải pháp vì trình biên dịch phải biết kiểu trả về ...
Bạn không thể ghi đè dựa trên loại trả lại. –
Và chương trình này sẽ không biên dịch –