Ключовите думи удължава и приспособления, и двете се използват за изпълнение на концепцията за наследяване на , все пак има фина разлика между тях. Тази статия за extends vs implements в Java ще ви помогне да разберете основните разлики между тези ключови думи.
Темите, обсъдени в тази статия, са:
За по-добро разбиране наразлика между удължава и прикачва, вие също трябва да научите и разберете разлика между абстрактен клас и интерфейс в Java.
разширява Ключова дума
Когато подклас разширява друг клас , позволява на подкласа да наследи (т.е. повторно използване) и да замени кода, дефиниран в супертипа. С прости думи, използвайки ключова дума extends, новосъздаден клас (подклас) може да наследи характеристиките на съществуващ клас (суперклас). Освен това можезамени дефинирани в суперклас. Класът никога не може да разшири повече от един суперклас в Java.Ето един демонстриращ абстрактен клас:
пакет MyPackage клас A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} клас B разширява A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Добре дошли', „Към Edureka“) ob.display ()}}
Изход: Добре дошли
На Едурека
пример за променлива на екземпляр в java
Обяснение: В горния код можете да забележите, че клас B има разширен клас A, той има достъп до метода display () и е заменил метода display (), дефиниран в клас A. Тази огромна мощ идва чрез използването на ключовата дума extends.
прилага ключова дума
Когато класприспособленияинтерфейс, той трябва да осигури изпълнение на всички методи, декларирани в интерфейс . Ако класът не желае да осигури изпълнение, той може да се декларира като абстрактен клас . Също така, интерфейсът никога не може да реализира друг интерфейс, тъй като средствата за изпълнение, определящи методите и интерфейсът винаги имат абстрактни методи, така че интерфейсът никога не може да реализира друг интерфейс.Ето примерна програма, демонстрираща абстрактен клас:
пакет MyPackage интерфейс XYZ {void display (String s) void show (int i)} class Demo implements XYZ {public void show (int i) {System.out.println ('integer value:' + i)} public void display ( String s) {System.out.println ('string value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .шоу (2)}}
Изход:
низ стойност: TechDifferences цяло число стойност: 2
В горния код можете да забележите, че Демо класреализира два метода, декларирани в интерфейса XYZ.
От горното съдържание може да сте забелязали ключовата разлика между разширенията и приложенията в . Сега нека продължим и да изброим други разлики.
java преобразуване двойно в int
разширява срещу прикачва
Таблицата по-долу изброява ключовите разлики между ключовите думи, които се разширяват и прилагат
Сравнителни характеристики | Удължава | Приложения |
Изпълнение | Класът може да наследи друг клас или интерфейсът може да наследи други интерфейси, използвайки ключова дума extends | Един клас може да реализира интерфейс, използвайки ключови думи |
Метод | Подкласът, който разширява суперклас, може или не може да замени всички методи в суперклас | Класът, изпълняващ интерфейс, трябва да реализира всички методи на този интерфейс. |
Клас | Един клас може да разшири само един суперклас. | Класът може да реализира произволен брой интерфейси едновременно защо трябва да научите python |
Интерфейс | Интерфейсът може да разшири произволен брой интерфейси | Интерфейсът никога не може да реализира друг интерфейс |
Е, сега вие сте ключовите разлики между разширенията и приложенията в
Това ни води до края на товаразширява срещу внедрява в статия Java. Преминахме през основните разлики между разширява и прилага ключови думи. В заключение и двете се използват за изпълнение наКонцепция за наследяване на Java, но по различни начини.
Уверете се, че практикувате възможно най-много и връщате опита си.
Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на това ‘extends vs implements in Java’ и ние ще се свържем с вас възможно най-скоро.