Diferența dintre Extends și Implements în Java cu exemple

După articolul Java Autoboxing și Unboxing în Java, vom învăța diferența dintre extends și implements în java. Ambele sunt cuvinte cheie rezervate în Java pe care le folosim pentru a moșteni caracteristicile unui bloc părinte deja existent în blocul copil nou creat. Ele sunt utilizate pentru a implementa diferite concepte în Java. Vom învăța ce este cuvântul cheie Java extends și ce este cuvântul cheie Java implements cu exemple.

În primul rând, să revizuim conceptul de Java Autoboxing și Unboxing în detaliu cu Techvidvan.

Ținându-vă la curent cu cele mai recente tendințe tehnologice, alăturați-vă TechVidvan pe Telegram

Ce este extends în Java?

  • Cuvântul cheie extends în Java este util atunci când dorim să moștenim proprietățile și metodele unei clase părinte în clasa noastră copil.
  • Acest cuvânt cheie extends stabilește relația de moștenire între două clase.
  • Îl folosim în timp ce creăm o clasă derivată din clasa părinte sau creăm o subclasă din superclasă.
  • Regula este că o clasă poate extinde cel mult o singură clasă.
  • Când o clasă extinde o altă clasă, aceasta poate suprascrie metodele definite în superclasă.
  • De asemenea, folosim cuvântul cheie extends atunci când dorim ca o interfață să extindă sau să moștenească o altă interfață.

Familiarizați-vă cu conceptul de moștenire Java în detaliu cu Techvidvan.

Cod pentru a înțelege cuvântul cheie extends în Java:

package com.techvidvan.extendsvsimplements;//Parent classclass Country{ String name = "India"; public void display() { System.out.println("This is my country India"); }}//child class extends the parent classclass City extends Country{ // defining additional properties to the derived class String state = "Rajasthan"; String city = "Jaipur";}public class ExtendsDemo{ public static void main(String args) { City obj=new City(); obj.display(); System.out.println("Name of the city is: " + obj.name); System.out.println("City is present in " + obj.state + "state"); }}

Output:

Aceasta este țara mea India
Numele orașului este: Jaipur
Orașul este prezent în statul Rajasthan

Ce este Implements în Java?

  • Utilizăm cuvântul cheie implements atunci când implementăm o interfață.
  • O clasă poate implementa o interfață folosind cuvântul cheie implements.
  • O interfață este un tip abstract în Java care conține o colecție de metode abstracte. Nu putem instanția o interfață, adică nu putem crea obiecte dintr-o interfață.
  • Când o clasă implementează o interfață, trebuie să definească toate metodele care sunt prezente în interiorul interfeței, furnizând implementarea fiecărei metode.
  • Dacă clasa care implementează o interfață nu definește sau nu conține implementarea tuturor metodelor interfeței, atunci trebuie să o declarăm ca fiind abstractă. În caz contrar, compilatorul va da o eroare.
  • Java nu suportă moștenirile multiple, dar putem implementa moștenirea multiplă în codul nostru prin utilizarea mai multor interfețe în Java.
  • O interfață nu poate implementa niciodată o altă interfață. Motivul este că, dacă interfața va implementa o altă interfață, atunci trebuie să definească toate metodele interfeței pe care o implementează, dar interfața nu poate avea metode concrete, prin urmare, o interfață nu poate implementa o altă interfață în Java.

Îmbunătățiți-vă cunoștințele despre interfața Java în detaliu cu Techvidvan.

Cod pentru a înțelege implementarea cuvântului cheie java implements:

package com.techvidvan.extendsvsimplements;//Creating an interfaceinterface MyInterface{ //Declaring abstract methods inside it void displayString(String s); void showNumber(int i);}//Implementing the interface using the implements keywordpublic class MyClass implements MyInterface{ //Implementing all the methods declared in the interface public void displayString(String s) { System.out.println("The string value is: " +s); } public void showNumber(int i) { System.out.println("The integer value is: " +i); } public static void main(String args) { MyClass obj = new MyClass(); obj.displayString("TechVidvan"); obj.showNumber(20); }}

Output:

Valoarea șirului este: TechVidvan
Valoarea întreagă este: 20

Exemplu de interfețe multiple

Acum vom vedea un exemplu în care o clasă implementează mai mult de o interfață în același timp și, prin urmare, stabilește moșteniri multiple în Java. Vom crea 3 interfețe: Walkable, Swimmable și Talkable și o clasă HumanBeing care implementează toate cele 3 interfețe.

1. Interfața: Walkable.java

package com.techvidvan.extendsvsimplements;public interface Walkable { public void walk();}

2: Swimmable.java

package com.techvidvan.extendsvsimplements;public interface Swimmable{ public void swim();}

3. interfața: Talkable.java

package com.techvidvan.extendsvsimplements;public interface Talkable { public void talk();}

4. Clasa: Talkable.java

package com.techvidvan.extendsvsimplements;public interface Talkable { public void talk();}

: HumanBeing.java

package com.techvidvan.extendsvsimplements;\To implement multiple interfaces we must use commas to separate thempublic class HumanBeing implements Walkable, Swimmable, Talkable{ @Override public void walk() { System.out.println("I can walk"); } @Override public void swim() { System.out.println("I can swim"); } @Override public void talk() { System.out.println("I can talk"); } public static void main(String args) { HumanBeing human= new HumanBeing(); human.walk(); human.swim(); human.talk(); }}
package com.techvidvan.extendsvsimplements;\To implement multiple interfaces we must use commas to separate thempublic class HumanBeing implements Walkable, Swimmable, Talkable{ @Override public void walk() { System.out.println("I can walk"); } @Override public void swim() { System.out.println("I can swim"); } @Override public void talk() { System.out.println("I can talk"); } public static void main(String args) { HumanBeing human= new HumanBeing(); human.walk(); human.swim(); human.talk(); }}

Succes:

Pot să merg
Pot să înot
Pot să vorbesc

Diferența dintre Extends și Implements în Java

Am văzut exemplele celor două cuvinte cheie, să vedem acum în detaliu java extends vs implements:

Funcții de comparație Extinderi Implemente
Implementare Cuvântul cheie extends este folosit atunci când o clasă dorește să moștenească toate proprietățile de la o altă clasă sau o interfață care dorește să moștenească o interfață. Utilizăm cuvântul cheie implementează atunci când dorim ca o clasă să implementeze o interfață.
Asociat cu Se asociază cu Moștenirea Se asociază cu Abstracțiunea
Metoda Clasa copil care extinde o clasă părinte poate să suprascrie sau nu toate metodele prezente în clasa părinte. Clasa care implementează o interfață trebuie să definească sau să furnizeze implementarea tuturor metodelor declarate în interfață, în caz contrar clasa trebuie să fie declarată ca fiind abstractă.
Clasa O subclasă sau mai multe subclase pot extinde doar o singură clasă părinte în același timp. O clasă poate implementa una sau mai multe interfețe în același timp.
Interfață O interfață poate extinde orice număr de interfețe. O interfață nu poate implementa niciodată o altă interfață.

Summary

În concluzie, ajungem la finalul articolului despre diferența dintre extends și implements în java. Am trecut în revistă diferențele majore dintre aceste cuvinte cheie. Ambele utilizează direct sau indirect conceptul de moștenire în Java. Dar, putem concluziona că implementarea unei interfețe oferă mai multă flexibilitate decât extinderea unei clase, deoarece putem extinde o singură clasă, dar putem implementa mai multe moșteniri în Java. Sperăm că, după ce ați citit acest articol, s-ar putea să fi înțeles în sfârșit cuvântul cheie extends vs implements în Java.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.