EDIT: Zostawię to tutaj jako przykład. Przeczytaj komentarze, aby uzyskać więcej informacji, ale ogólnie: NIE UŻYWAJ TEGO PROJEKTU! To jest złe!Java - przesłonięcie obiektu Typ parametru z betonu typu
Szukałem odpowiedzi na chwilę teraz, ale nie mógł znaleźć coś naprawdę konkretnego powiedzenie, nie można nie bo ... czy tak można to w jaki sposób to zrobić ..
Tak pytanie brzmi: Czy mogę stworzyć abstrakcyjną metodę definiowania parametrów typu Object, a następnie coś wdrożyć go z betonowej typ parametrów takich jak to:
public abstract class ToBeOverriden {
public Object method1 (Object parameter);
public String method2 (Object parameter);
public void method3 (Object parameter);
}
a potem go nadpisać to:
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();
}
}
Gdzie Osoba jest obiektem stworzonym przeze mnie. Typ zwrotu może być dowolny. Obecnie nie mogę tego zrobić. To mi nie pozwala. Domyślam się, że to dlatego, że moja klasa nie rozszerza Object. Chociaż wszystko rozszerza Obiekt ... Więc ...
Czy muszę odświeżyć swoją wiedzę o Javie? :)
EDYCJA: Dodano bardziej złożoną strukturę klas.
Dzięki!
* E * nie jest wymagany, wymagany jest tylko * V *. –
@AmirPashazadeh Masz rację, nie pomyślałeś o tym. Zaktualizowałem moją odpowiedź. – bezmax
Co się stanie, jeśli ma więcej niż jeden typ/typ zwrotu? Czym zatem będzie E? – Hannibal