Почему я не могу написать «реализует AClass» на Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему я не могу написать «реализует AClass» на Java?

Сообщение Anonymous »

В Java люди часто определяют интерфейс вместе с классом и используют имя интерфейса вместо имени класса, где это возможно, чтобы позже можно было реализовать новые реализации. Здесь дублируется логический интерфейс.

Такое дублирование «на всякий случай» не было бы необходимо, если бы Java позволяла использовать класс в качестве интерфейса, например: class MyScanner расширяет MyStuff реализует java.util.Scanner. Также это облегчит ситуацию, когда мне нужно предоставить тип класса, но я не хочу расширять этот класс.

Как я понимаю, «реализация класса» было бы отклонено не только компилятором, но и JVM (если бы я взломал это объявление в файле классов). Есть ли какие-то технические трудности с этим или это не является важным моментом? Это не похоже на проблему обратной совместимости (я имею в виду, что старый код работал бы нормально, если бы JVM поддерживала это).

РЕДАКТИРОВАТЬ: для пояснения я скопирую сюда Гораздо лучшая формулировка тех же вопросов в StriplingWarrior: Почему класс не может «реализовать» контракт метода другого класса без фактического расширения этого класса? Это техническая проблема? Сможет ли это каким-то образом открыть для нас некоторые проблемы, которые ФП не может предвидеть?

Подробнее здесь: https://stackoverflow.com/questions/469 ... ss-in-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»