EDIT: Tôi sẽ để đây ở đây làm ví dụ. Đọc các nhận xét để biết thêm thông tin nhưng thường: KHÔNG SỬ DỤNG THIẾT KẾ NÀY! Đó là BAD!Java - Ghi đè tham số kiểu đối tượng với loại bê tông
tôi đã tìm kiếm một câu trả lời cho một thời gian bây giờ, nhưng không thể tìm thấy bất cứ điều gì nói thật cụ thể, không có bạn có thể không phải vì ... hoặc có bạn có thể là cách bạn làm điều đó ..
Vì vậy, các câu hỏi là, tôi có thể tạo ra một phương pháp trừu tượng xác định các tham số kiểu Object và sau đó đã một cái gì đó thực hiện nó với một loại bê tông thông số như thế này:
public abstract class ToBeOverriden {
public Object method1 (Object parameter);
public String method2 (Object parameter);
public void method3 (Object parameter);
}
và sau đó ghi đè lên nó với điều này:
public class Implementation {
@Override
public DateTime method1 (Person parameter){
return new DateTime();
}
@Override
public String method2 (MotorCycle parameter){
return new DateTime();
}
@Override
public void method3 (String parameter){
return new DateTime();
}
}
Trường hợp người là một đối tượng được tạo ra bởi tôi. Loại trả lại có thể là bất cứ điều gì. Hiện tại tôi không thể làm điều này. Nó không cho tôi. Tôi đoán là vì lớp của tôi không mở rộng Object. Mặc dù mọi thứ mở rộng đối tượng ... Vì vậy, ...
Hoặc tôi có cần làm mới kiến thức Java của mình không? :)
EDIT: Đã thêm cấu trúc lớp phức tạp hơn.
Cảm ơn!
Không bắt buộc * E *, chỉ cần * V *. –
@AmirPashazadeh Bạn nói đúng, không nghĩ vậy. Đã cập nhật câu trả lời của tôi. – bezmax
Điều gì xảy ra nếu nó có nhiều loại trả về/kiểu tham số hơn? E sẽ là gì? – Hannibal