Różnica Między Tym A Super W Javie

Spisu treści:

Różnica Między Tym A Super W Javie
Różnica Między Tym A Super W Javie

Wideo: Różnica Między Tym A Super W Javie

Wideo: Różnica Między Tym A Super W Javie
Wideo: Wprowadzenie do dziedziczenia w Javie. Słowo kluczowe extends 2024, Może
Anonim

Kluczowa różnica - to w porównaniu z super w Javie

Słowa kluczowe „this” i „super” są używane w programowaniu w języku Java. Tych słów kluczowych nie można używać jako zmiennych ani żadnej innej nazwy identyfikatora. Java obsługuje programowanie obiektowe (OOP). Program lub oprogramowanie można modelować za pomocą obiektów. Obiekty są nienasycone za pomocą klas. Jednym z filarów OOP jest dziedziczenie. Zapewnia możliwość ponownego wykorzystania kodu. Klasy, które już istnieją, są nadklasami, a klasy pochodne są podklasami. Słowo kluczowe super może być użyte do odniesienia się do obiektu nadklasy. W systemie jest wiele obiektów. Słowo kluczowe „this” jest używane do odniesienia się do bieżącego obiektu. Kluczową różnicą między this i super jest to, że „this” jest zmienną referencyjną używaną do odniesienia się do bieżącego obiektu, podczas gdy „super” jest zmienną referencyjną używaną do odwoływania się do bezpośredniego obiektu nadklasy.

ZAWARTOŚĆ

1. Omówienie i kluczowe różnice

2. Co to jest w Javie

3. Co jest super w Javie

4. Podobieństwa między tym a super w Javie

5. Porównanie bezpośrednie - to vs super w Javie w formie tabelarycznej

6. Podsumowanie

Co to jest w Javie?

Słowo kluczowe „this” jest używane w celu odniesienia do bieżącego obiektu. Skorzystaj z danego programu Java.

Różnica między tym a super w Javie
Różnica między tym a super w Javie

Rysunek 01: Program Java używający tego słowa kluczowego

W Javie istnieją trzy typy zmiennych. Są to zmienne instancji, zmienne lokalne i zmienne klas. Zgodnie z powyższym programem klasa Employee ma dwie zmienne instancji. To id i imię. Zmienne lokalne to zmienne należące do metod. Zmienne klas są wspólne dla wszystkich obiektów. Identyfikator i nazwa są przekazywane do konstruktora pracownika. Jeśli programista napisze id = id; nie zainicjuje zmiennych instancji, ponieważ Konstruktor ma już identyfikator i nazwę. Nie ma wartości dla zmiennych instancji. Tak więc ich wydrukowanie spowoduje wyświetlenie wartości null. Używając tego, odnosi się do bieżącego obiektu. Dlatego nadanie konstruktorowi id i nazwy może ustawić zmienne instancji.

Słowo kluczowe „this” może zostać użyte do wywołania bieżącej metody klasy. Zapoznaj się z podanym programem Java.

public class ThisDemo {

public static void main (String args) {

Myclass myClass = new Myclass ();

myClass. B ();

}

}

class Myclass {

public void A () {

System.out.println („A”);

}

public void B () {

System.out.prinltn („B”);

to jest();

}

}

Klasa Myclass zawiera dwie metody. Są to metody A i B. Podczas tworzenia obiektu Myclass i wywoływania metody B wydrukuje B, A jako wynik. W metodzie B po wypisaniu B znajduje się instrukcja jak this. A (). Używając tego, wywołano bieżącą metodę klasy.

Możliwe jest również użycie tego słowa kluczowego do wywołania konstruktora bieżącej klasy. Zapoznaj się z podanym programem.

public class ThisDemo {

public static void main (String args) {

A przedmiot = nowy A (5);

}

}

klasa A{

public A () {

System.out.println („Konstruktor A”);

}

public A (int x) {

to();

System.out.println („Sparametryzowany konstruktor A”);

}

}

Zgodnie z powyższym programem klasa A ma domyślnego konstruktora i sparametryzowanego konstruktora. Podczas tworzenia obiektu A wywoływany jest sparametryzowany konstruktor. W konstruktorze sparametryzowanym znajduje się taka instrukcja (); Wywoła aktualny konstruktor klasy, którym jest A ().

Co jest super w Javie?

Słowo kluczowe „super” jest związane z dziedziczeniem. Dziedziczenie to główna koncepcja programowania obiektowego. Pozwala na wykorzystanie właściwości i metod już istniejącej klasy do nowej klasy. Już istniejąca klasa jest znana jako klasa nadrzędna lub klasa nadrzędna. Nowa klasa jest nazywana klasą podrzędną lub podklasą.

„Super” jest zmienną referencyjną używaną do odwoływania się do bezpośredniego obiektu klasy nadrzędnej. Słowo kluczowe super może odwoływać się do zmiennej instancji klasy nadrzędnej lub bezpośrednio wywoływać metodę klasy nadrzędnej. Super () służy do wywoływania konstruktora klasy nadrzędnej.

Załóżmy, że istnieją dwie klasy A i B. Klasa A to nadklasa, a klasa B to podklasa. Klasy A, B mają metodę wyświetlania.

klasa publiczna A {

public void display () {

System.out.println („A”);

}

}

klasa publiczna B rozszerza A {

public void display () {

System.out.println („B”);

}

}

Tworząc obiekt typu B i wywołując metodę display, da wynik B. klasa A ma metodę wyświetlania, ale jest ona zastępowana przez metodę wyświetlania podklasy B. Jeśli programista chce wywołać metodę wyświetlania w klasie A, może użyć słowa kluczowego super. Skorzystaj z danego programu Java.

Różnica między tym a super w Java Figure 02
Różnica między tym a super w Java Figure 02

Rysunek 02: Program Java wykorzystujący słowo kluczowe super

Zgodnie z powyższym programem klasa A ma zmienną o nazwie liczba o wartości 10. Klasa B rozszerza A i ma zmienną o nazwie liczba o wartości 20. Generalnie podczas tworzenia obiektu typu B i wywoływania metody wyświetlania należy podać liczbę w podklasy, ponieważ wartość nadklasy jest zastępowana przez nową klasę. Używając super.num, wypisywana jest wartość numeru nadklasy.

Super () może służyć do wywołania konstruktora nadklasy. Zapoznaj się z poniższym programem.

public class Main {

public static void main (String args) {

B obj = nowy B ();

}

}

klasa A{

ZA(){

System.out.println („A”);

}

}

klasa B rozszerza A {

B(){

Wspaniały();

System.out.println („B”);

}

}

Zgodnie z powyższym programem klasa A ma konstruktor A (). Klasa B ma konstruktora B (). Klasa B rozszerza klasę A. Podczas tworzenia obiektu typu B wydrukuje A, B jako wynik. Konstruktor B () ma super (). Dlatego najpierw wywoływany jest konstruktor A, a następnie przechodzi do B. Mimo że super () nie jest zapisywane, domyślnie wywoływany jest konstruktor nadrzędny.

Super przy użyciu metody jest następujący.

Kluczowa różnica między tym a super w Javie
Kluczowa różnica między tym a super w Javie

Rysunek 03: Program w języku Java, który wywołuje metodę nadklasy

Zgodnie z powyższym programem klasa A ma metodę wyświetlania. Klasa B ma również metodę wyświetlania. Klasa B rozszerza A. Podczas tworzenia obiektu typu B i wywoływania metody wyświetlania dane wyjściowe są wyświetlane jako A i B. W metodzie wyświetlania klasy B metoda wyświetlania klasy A jest wywoływana za pomocą super.display (). Ta metoda drukuje najpierw „A”. Następnie drukuje „B”.

Jakie jest podobieństwo między tym a super?

Oba są słowami kluczowymi w programowaniu w Javie

Jaka jest różnica między tym a super?

Porównaj środek artykułu przed tabelą

To vs Super

„This” jest zmienną referencyjną używaną do odwoływania się do bieżącego obiektu. „Super” jest zmienną referencyjną używaną do wskazywania bezpośredniego obiektu nadklasy.
Zmienna instancji
Przy użyciu tego można odwołać się do zmiennej instancji aktualnej klasy. Do zmiennej instancji superklasy można odwoływać się za pomocą super.
Metoda klasowa
Bieżącą metodę klasy można wywołać za pomocą this. Metodę nadklasy można wywołać za pomocą super.
Konstruktor
Bieżący konstruktor klasy można wywołać za pomocą this (). Konstruktor nadklasy można wywołać za pomocą super ().

Podsumowanie - to vs super w Javie

Słowa kluczowe „this” i „super” są używane w Javie. Słowa kluczowe nie mogą być używane jako zmienne ani żadna inna nazwa identyfikatora. Wydają się być takie same, ale mają różnicę. Różnica między this a super polega na tym, że super jest zmienną referencyjną używaną do odwoływania się do bezpośredniego obiektu nadklasy, podczas gdy jest to zmienna referencyjna, która odwołuje się do bieżącego obiektu.

Pobierz plik PDF tego vs super w Javie

Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytowania. Pobierz wersję PDF tutaj: Różnica między tym a super w Javie

Zalecane: