Рекомендуем, 2024

Выбор редакции

Разница между расширяет и реализует ключевые слова в Java

Ключевые слова расширяются и реализуются для наследования функций уже существующего родительского блока во вновь созданном дочернем блоке. Используя ключевое слово extends, вновь созданный класс (подкласс) может наследовать свойства существующего класса (суперкласса). Используя ключевое слово Implements, вновь созданный класс может реализовать все методы интерфейса. Основное различие между ключевыми словами, расширяет и реализует в том, что класс расширяет другой класс для наследования всех своих членов, тогда как класс реализует интерфейс для наследования всех своих методов и реализации их в соответствии со своими требованиями. Существуют и другие различия между ключевыми словами, расширяющими и реализующими, которые обсуждаются в сравнительной таблице, показанной ниже.

Сравнительные таблицы

Основа для сравненияРасширяетинвентарь
основнойКлючевое слово 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 ().

Ключевые различия между расширяет и реализует

  1. Класс может наследовать другой класс, или интерфейс наследует другие интерфейсы с использованием ключевого слова extends, тогда как класс может реализовывать интерфейсы с использованием ключевых слов.
  2. Подкласс, который расширяет суперкласс, может или не может переопределить все методы в суперклассе. С другой стороны, класс, реализующий интерфейс, должен определять / реализовывать все методы этого интерфейса.
  3. Класс может реализовывать любое количество интерфейсов одновременно. С другой стороны, класс может расширять только один суперкласс.
  4. Интерфейс может расширять любое количество интерфейсов, но интерфейс никогда не может реализовать какой-либо другой интерфейс, поскольку средства реализации, определяющие методы и интерфейс, всегда имеют абстрактные методы, поэтому интерфейс никогда не может реализовать другой интерфейс.

Заключение:

Я завершаю обсуждение, сказав, что реализация интерфейса делает код более гибким, чем расширение класса. Как это позволяет избежать ограничения наследования только одного суперкласса в Java. Используя ключевое слово Implements, класс может наследовать функции нескольких интерфейсов.

Top