![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Уважаемые форумчане,
Недавно стал работать с пакетом java.nio и столкнулся с рядом для меня непоняток. В частности, хочу уточнить пару вопросов по классу FileChannel. Во-первых, данный класс абстрактный, а значит, "нельзя создавать его объект". Однако, у классов FileInputStream, FileOutputStream, RandomAccessFile есть метод getChannel(), возвращающий ОБЪЕКТ класса FileChannel! Как это может быть? Во-вторых, у данного класса полно абстрактных методов, т. е. не имеющих тела. Иначе говоря, они ничего не могут делать. Однако, у него есть, к примеру, абстрактный метод position(), который реально меняет позицию в файле, т. е. что-то ДЕЛАЕТ, хотя, по определению, не имеет тела и ничего делать не должен! Так вот, поясните мне, пожалуйста, данные непонятки. Спасибо! -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
FileInputStream, FileOutputStream, RandomAccessFile возвращают наследника класса FileChannel у которого реализованы все абстрактные методы. Можешь вызвать у полученного объекта getClass() и посмотреть, что там за класс на самом деле.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: 7 Всего: 28 |
Спасибо, посмотрим! Добавлено через 3 минуты и 57 секунд Да, действительно, наследника зовут FileChannelImpl -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |