Üniversitemde ileri düzeyde programlamada derslerim var ve bu kodun nasıl çalıştığını anlamakta biraz sorun yaşıyorum.Java'da gelişmiş polimorfizm
public final class GenericClass<T> {
private void overloadedMethod(Collection<?> o) {
System.out.println("Collection<?>");
}
private void overloadedMethod(List<Number> o) {
System.out.println("List<Number>");
}
private void overloadedMethod(ArrayList<Integer> o) {
System.out.println("ArrayList<Integer>");
}
public void method(List<T> l) {
overloadedMethod(l);
}
public static void main(String[] args) {
GenericClass<Integer> test = new GenericClass<Integer>();
test.method(new ArrayList<Integer>());
}
}
neden bu yasanın yazılı "Koleksiyon <? >" ?
sayesinde çünkü sürümü, cevabın neden ' –
' Program baskılar dışarı 'aşırı yüklenmiş (Liste > o)' için Listesini 'aşırı yüklenmiş (Liste o)' değişen 'yerine' toplanması > sonra bile açıklıyor en önemli şey son cümlen. Bu her şeyi açıklıyor! –
Oldukça iyi bir yanıt, ancak -1 'GenericClass) 'ile aynı çağrıya neden olur. Yani burada başka bir şey var. –