поэтому я этот код здесь: хотел бы знать, почему 2 ниже примеры дает ошибку времени выполнения и ошибки компиляциипричина, почему этот код ошибки во время выполнения против ошибки компиляции
public abstract class Person<Mate> {
public String name;
public abstract Person<?> mate(Mate m);
public static class Male extends Person<Person<?>.Female> {
public Person<?> mate(Person<?>.Female m) {
return null;
}
}
public class Female extends Person<Male> {
public Person<?> mate(Male m) {
return null;
}
}
}
может кто-нибудь сказать мне, почему это пример кода дает ошибку времени выполнения
Person p = new Male();
p.mate(p);
в то время как это один дает ошибку компиляции
Person p<Female> = new Male();
p.mate(p); // Argument is of incorrect type.
Пожалуйста, добавьте ** полное сообщение об ошибке компиляции/время выполнения error sessage + stacktrace в ваш вопрос. –