Java core. Method overriding rules
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Здравствуйте!
Читая спецификацию Java 7, у меня возник вопрос. Мне не понятна тема Erasure Affects Overriding.
В спецификации приведено два примера вызывающих ошибку компиляции. Мне не ясны условия при которых возникают данные ошибки. Привожу примеры с книги:
A class cannot have two member methods with the same name and type erasure:class C<T> { T id (T x) {...} } class D extends C<String> { Object id(Object x) {...} }Two different methods of a class may not override methods with the same erasure:
class C<T> { T id(T x) {...} } interface I<T> { T id(T x); } class D extends C<String> implements I<Integer> { public String id(String x) {...} public Integer id(Integer x) {...} }
Может ли кто то объяснить почему возникают ошибки и, в частности, что значит
The two methods have the same erasure
?
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів