| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Overriding generified methods |
| Автор: taro 28.3.2008, 12:50 | ||
| Добрый день! При попытке пометить метод в потомке как @Oerride получаю сообщение об ошибке Мне казалось, что если в потомке при описании параметров метода указать класс, подходящий под определение базового метода в родителе, то проблем быть не должно. Не поможете ли понять, в чем может быть дело?
Спасибо! |
| Автор: LSD 28.3.2008, 13:24 | ||||
Так он его и не переопределяет
тогда да, он бы его переопределял, а так нет. Дело в том, что метод в предке принимает любой класс SimpleEntity, а в потомке только SoftBlock, т.е. ситуация получается похожая на:
тут тоже никто никого не переопределяет. |
| Автор: taro 28.3.2008, 13:35 |
В вашем примере именно override и происходит. Согласно JLS можно унаследовать метод, изменив параметр / возвращаемое значение на класс, являющийся предком класса, использованного в методе-предке. Все равно спасибо, у меня, наверное, уже горе от ума начинается. |
| Автор: taro 28.3.2008, 14:08 |
пруфлинк реквайред? http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.5 |
| Автор: Kangaroo 28.3.2008, 14:23 |
Overload там обычный, не путайте людей |
| Автор: taro 28.3.2008, 14:27 | ||
Вынужден путать. Цитата 8.4.8.3:
|
| Автор: fixxer 28.3.2008, 14:36 | ||||
а причем тут return type? Это да, при переопределении метода в потомке, у нас есть право сузить возвращаемый тип, но причем тут аргументы метода? |
| Автор: Kangaroo 28.3.2008, 14:39 | ||
Вот, вот |
| Автор: taro 28.3.2008, 14:41 | ||
Мне кажется, при том, что замена сигнатуры принимаемых параметров - епархия перегрузки. Замена возвращаемого типа - епархия covariant return. |
| Автор: Kangaroo 28.3.2008, 14:53 | ||
Все правильно. Тогда почему ты говоришь, что пример LSD - override? если там замена сигнатуры принимаемых параметров |
| Автор: fixxer 28.3.2008, 14:57 | ||||
Что и написано в цитируемом Вами пункте. Про "замену сигнатуры принимаемых параметров" там ни слова. |
| Автор: taro 28.3.2008, 15:21 | ||
А я и не говорил с вами о принимаемых параметрах. тему вообще можно закрыть. Меня ввел в заблуждение очередной глюк Эклиспса. |