Сравнительные таблицы
Основа для сравнения | Расширяет | инвентарь |
---|---|---|
основной | Ключевое слово extends используется для создания подкласса с использованием функций суперкласса. | Ключевое слово Implements используется для реализации интерфейса. |
методы | Ключевое слово extends не может переопределять все методы суперкласса. | Ключевое слово Implements должно реализовывать все методы реализованного интерфейса. |
Учебный класс | Класс может расширять только один суперкласс. | Класс может реализовывать несколько интерфейсов. |
Интерфейс | Интерфейс может расширять несколько интерфейсов. | Интерфейс не может реализовать другой интерфейс. |
Определение ключевого слова extends
Наследование, являющееся важной концепцией в объектно-ориентированном программировании, достигается, когда подкласс расширяет другой суперкласс. Подклассу разрешено расширять только один суперкласс. Класс никогда не может расширять более одного суперкласса в Java. Когда класс расширяет другой класс, он может переопределить методы, определенные в суперклассе. Давайте поймем, что ключевое слово расширяется с помощью примера.
класс A {Строка s; A (Строка s1) {s = s1; } // отображение строки void display () {System.out.println (+ s); }} класс B расширяет A {String i; B (строка s1, строка i1) {супер (s1); я = i1; } void dispaly () {super.dispaly (); / * вызывается display () класса A. * / System.out.println (+ i); }} class Override {public static void main (String args []) {B ob = new B (Tech, Differences); ob.display (); / * вызов класса B * /}} / * out put * / Технические различия
В приведенном выше коде вы можете заметить, что класс B расширил класс A и переопределил метод display (), определенный в классе A. Аналогичным образом интерфейс может расширять более одного интерфейса одновременно. Поскольку интерфейс не должен реализовывать какой-либо метод расширенного интерфейса, следовательно, ему разрешено наследовать несколько интерфейсов одновременно.
Определение ключевого слова инструмента
Используя ключевое слово Implements, класс наследует все методы в интерфейсе. Когда класс реализует интерфейс, этот класс должен реализовывать все методы реализованного интерфейса. Интерфейс никогда не может реализовать другой интерфейс, поскольку реализует ключевое слово обещает реализацию методов, но интерфейс никогда не реализует методы в нем, поэтому для интерфейса невозможно реализовать другой интерфейс. Давайте разберемся с ключевым словом Implements с помощью примера.
интерфейсные строки {void display (String s); } integer {void show (int i); } Класс Demo реализует строки, integer {void show (int i) {System.Out.Println ("integer value:" + i); } void display (String s) {System.Out.Println ("строковое значение:" + s); }} class Demo_main {public static void main (string args []) {Demo d = new Demo (); d.display ( "TechDifferences"); d.show (2); }} / * output * / TechDifferences 2
Как и в приведенном выше коде, вы можете видеть, что демонстрационная версия класса реализует две строки интерфейса и целое число и реализовала методы, объявленные в обоих интерфейсах, которые являются display () и show ().
Ключевые различия между расширяет и реализует
- Класс может наследовать другой класс, или интерфейс наследует другие интерфейсы с использованием ключевого слова extends, тогда как класс может реализовывать интерфейсы с использованием ключевых слов.
- Подкласс, который расширяет суперкласс, может или не может переопределить все методы в суперклассе. С другой стороны, класс, реализующий интерфейс, должен определять / реализовывать все методы этого интерфейса.
- Класс может реализовывать любое количество интерфейсов одновременно. С другой стороны, класс может расширять только один суперкласс.
- Интерфейс может расширять любое количество интерфейсов, но интерфейс никогда не может реализовать какой-либо другой интерфейс, поскольку средства реализации, определяющие методы и интерфейс, всегда имеют абстрактные методы, поэтому интерфейс никогда не может реализовать другой интерфейс.
Заключение:
Я завершаю обсуждение, сказав, что реализация интерфейса делает код более гибким, чем расширение класса. Как это позволяет избежать ограничения наследования только одного суперкласса в Java. Используя ключевое слово Implements, класс может наследовать функции нескольких интерфейсов.