Słowa kluczowe rozciąga się i przybory, oba są używane do wykonywania koncepcji dziedziczenia jednak istnieje między nimi subtelna różnica. Ten artykuł na temat rozszerzeń a narzędzi w Javie pomoże Ci zrozumieć główne różnice między tymi słowami kluczowymi.
Tematy omówione w tym artykule to:
Aby lepiej zrozumiećróżnica między przedłużeniami i narzędziami, musisz także nauczyć się i zrozumieć różnica pomiędzy abstrakcyjna klasa i interfejs w Javie.
rozszerza słowo kluczowe
Kiedy podklasa rozszerza inną klasa , umożliwia podklasie dziedziczenie (tj. ponowne użycie) i nadpisanie kodu zdefiniowanego w nadtypie. Mówiąc prościej, używając słowa kluczowego extends, nowo utworzona klasa (podklasa) może dziedziczyć cechy istniejącej klasy (nadklasy). Może teżzastąpić zdefiniowane w nadklasie. Klasa nie może nigdy rozszerzać więcej niż jednej nadklasy w Javie.Oto plik demonstrowanie klasy abstrakcyjnej:
pakiet MyPackage klasa A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} klasa B rozszerza 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 ('Witamy', 'To Edureka') ob.display ()}}
Wynik: Witamy
Do Edureki
Wyjaśnienie: W powyższym kodzie można zauważyć, że klasa B ma rozszerzoną klasę A, ma dostęp do metody display () i przesłoniła metodę display () zdefiniowaną w klasie A. Ta ogromna moc pochodzi ze słowa kluczowego extends.
implementuje Keyword
Kiedy klasaprzyboryinterfejs, musi zapewnić implementację wszystkich metod zadeklarowanych wewnątrz pliku berło . Jeśli klasa nie chce zapewnić implementacji, może zadeklarować się jako plik Klasa abstrakcyjna . Ponadto interfejs nigdy nie może implementować innego interfejsu, ponieważ środki implementacyjne definiujące metody, a interfejs zawsze mają metody abstrakcyjne, więc interfejs nigdy nie może implementować innego interfejsu.Oto przykładowy program przedstawiający klasę abstrakcyjną:
pakiet MyPackage interfejs XYZ {void display (String s) void show (int i)} class Demo implementuje 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 .show (2)}}
Wynik:
ciąg rzutowania java do tej pory
wartość ciągu: TechDifferences Wartość całkowita: 2
W powyższym kodzie można zauważyć, że klasa Demoimplementuje dwie metody zadeklarowane w interfejsie XYZ.
Z powyższej treści można było zauważyć kluczową różnicę między rozszerzeniami a implementacjami w . Teraz przejdźmy dalej i wymieńmy inne różnice.
rozszerza a narzędzia
Poniższa tabela przedstawia kluczowe różnice między słowami kluczowymi rozszerza i implementuje.
Funkcje porównawcze | Rozciąga się | Przybory |
Realizacja | Klasa może dziedziczyć inną klasę lub interfejs może dziedziczyć inne interfejsy za pomocą słowa kluczowego extends public string tostring () | Klasa może implementować interfejs przy użyciu narzędzi słów kluczowych |
metoda | Podklasa, która rozszerza nadklasę, może, ale nie musi, zastępować wszystkie metody w nadklasie | Klasa implementująca interfejs musi implementować wszystkie metody tego interfejsu. |
Klasa | Klasa może rozszerzyć tylko jedną nadklasę. | Klasa może zaimplementować dowolną liczbę interfejsów w tym samym czasie |
Berło | Interfejs może rozszerzyć dowolną liczbę interfejsów | Interfejs nigdy nie może implementować żadnego innego interfejsu różnica między rozszerzaniem a implementacją |
Cóż, teraz znasz kluczowe różnice między rozszerzeniami i narzędziami w
To prowadzi nas do końcarozszerza a implementuje w artykule Java. Przeanalizowaliśmy główne różnice między rozszerzeniami a implementacją słów kluczowych. Podsumowując, oba są używane do wykonywaniaPojęcie dziedziczenia w Javie, ale na różne sposoby.
Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.
Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz tych pytań do wywiadu Java, opracowaliśmy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym artykule „Rozszerza a implementuje w Javie” a my skontaktujemy się z Tobą tak szybko, jak to możliwe.