DDDEN!SSS, если объяснять простым языком, то интерфейс говорит: "этот класс может то-то". Допустим Runnable - может запускаться в потоке, CommandListener - может обрабатывать команды и так далее. А родительский класс (абстрактный или нет - не так важно) говорит "этот класс по сути является тем-то".
Ссылка на пост
20 июн 2009 в 15:10