Kluczowa różnica – to kontra super w Javie
Słowa kluczowe „to” i „super” są używane w programowaniu w Javie. Tych słów kluczowych nie można używać jako zmiennych ani żadnej innej nazwy identyfikatora. Java obsługuje programowanie zorientowane obiektowo (OOP). Program lub oprogramowanie można modelować za pomocą obiektów. Obiekty są nienasycone przy użyciu 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 służyć do odwoływania się do obiektu superklasy. W systemie jest wiele obiektów. Słowo kluczowe „this” służy do odwoływania się do bieżącego obiektu. Kluczową różnicą między tym a super jest to, że „to” jest zmienną referencyjną, która służy do odwoływania się do bieżącego obiektu, podczas gdy „super” jest zmienną referencyjną, która służy do odwoływania się do bezpośredniego obiektu nadklasy.
Co to jest w Javie?
Słowo kluczowe „this” służy do odwoływania się do bieżącego obiektu. Zapoznaj się z podanym programem Java.
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 Pracownik ma dwie zmienne instancji. Są to identyfikator 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 pisze id=id; nie zainicjuje zmiennych instancji, ponieważ Konstruktor ma już identyfikator i nazwę. Brak 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 podanie identyfikatora i nazwy konstruktorowi może ustawić zmienne instancji.
Słowo kluczowe „this” może być użyte do wywołania metody bieżącej klasy. Zapoznaj się z podanym programem Java.
public class Ta prezentacja{
public static void main(String args){
MojaKlasa mojaKlasa=nowa MojaKlasa();
mojaKlasa. B();
}
}
class Moja klasa{
public void A(){
System.out.println(„A”);
}
public void B(){
System.out.println(“B”);
this. A();
}
}
Klasa Myclass zawiera dwie metody. Są to metody A i B. Podczas tworzenia obiektu Myclass i wywołania metody B wyświetli B, A jako dane wyjściowe. W metodzie B po wydrukowaniu B pojawia się instrukcja this. A(). Używając tego, została wywołana bieżąca metoda klasy.
Możliwe jest również użycie tego słowa kluczowego do wywołania bieżącego konstruktora klasy. Odwołaj się do danego programu.
public class Ta prezentacja{
public static void main(String args){
A obj=nowy A(5);
}
}
klasa A{
public A(){
System.out.println(„Konstruktor A”);
}
public A(int x){
this();
System.out.println(„Sparametryzowany Konstruktor A”);
}
}
Zgodnie z powyższym programem klasa A ma domyślny konstruktor i konstruktor sparametryzowany. Podczas tworzenia obiektu A wywoływany jest sparametryzowany Konstruktor. W sparametryzowanym konstruktorze znajduje się instrukcja taka(); Wywoła on obecny konstruktor klasy, którym jest A().
Co to jest super w Javie?
Słowo kluczowe „super” jest związane z dziedziczeniem. Dziedziczenie jest główną koncepcją programowania obiektowego. Pozwala na wykorzystanie właściwości i metod już istniejącej klasy do nowej klasy. Istniejąca już klasa nazywana jest klasą nadrzędną lub nadklasą. Nowa klasa jest znana jako klasa potomna lub podklasa.
„super” jest zmienną referencyjną, która jest używana do odwoływania się do bezpośredniego obiektu klasy nadrzędnej. Słowo super może odwoływać się do zmiennej instancji bezpośredniej klasy nadrzędnej lub wywoływać metodę bezpośredniej klasy nadrzędnej. Super() służy do wywołania bezpośredniego konstruktora klasy nadrzędnej.
Załóżmy, że istnieją dwie klasy jako A i B. Klasa A to nadklasa, a klasa B to podklasa. Obie klasy A i B mają metodę wyświetlania.
public class A{
public void display(){
System.out.println(„A”);
}
}
public class B rozszerza A{
public void display(){
System.out.println(“B”);
}
}
Kiedy tworzysz obiekt typu B i wywołujesz metodę wyświetlania, daje 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. Zapoznaj się z podanym programem Java.
Rysunek 02: Program Java używający super słowa kluczowego
Zgodnie z powyższym programem klasa A ma zmienną o nazwie number o wartości 10. Klasa B rozszerza A i ma zmienną o nazwie number o wartości 20. Generalnie podczas tworzenia obiektu typu B i wywoływania metody wyświetlania powinien podać numer w podklasie, ponieważ wartość nadklasy jest zastępowana przez nową klasę. Używając super.num, wypisywana jest wartość numeru nadklasy.
Super() może być użyty do wywołania konstruktora superklasy. Zapoznaj się z poniższym programem.
public class Główna {
public static void main(String args){
B obj=nowy B();
}
}
klasa A{
A(){
System.out.println(„A”);
}
}
klasa B rozszerza A{
B(){
super();
System.out.println(“B”);
}
}
Według powyższego programu klasa A ma konstruktor A (). Klasa B ma konstruktora B (). Klasa B rozszerza klasę A. Podczas tworzenia obiektu typu B, wypisze A, B jako dane wyjściowe. Konstruktor B() ma super(). Dlatego najpierw wywoływany jest konstruktor A, a następnie przechodzi do B. Mimo że super() nie jest napisane, domyślnie wywoływany jest konstruktor nadrzędny.
Najlepsze użycie metody jest następujące.
Rysunek 03: Program 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 da wynik 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?
To kontra Super |
|
'This' jest zmienną referencyjną, która jest używana do odwoływania się do bieżącego obiektu. | Zmienna „super” jest zmienną referencyjną, która jest używana do odwoływania się do bezpośredniego obiektu nadklasy. |
Zmienna instancji | |
Za pomocą tego można odwołać się do zmiennej instancji bieżącej klasy. | Zmienna instancji superklasy może być wywołana za pomocą super. |
Metoda klasy | |
Za pomocą tego można wywołać bieżącą metodę klasy. | Metodę superklasy można wywołać za pomocą super. |
Konstruktor | |
Obecny konstruktor klasy może być wywołany za pomocą this(). | Konstruktor superklasy można wywołać za pomocą super(). |
Podsumowanie – to kontra super w Javie
Słowa kluczowe „to” i „super” są używane w Javie. Słowa kluczowe nie mogą być używane jako zmienne lub inna nazwa identyfikatora. Wydają się być takie same, ale mają różnicę. Różnica między tym a super polega na tym, że super jest zmienną referencyjną, która jest używana 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 z tym vs super w Javie
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj: Różnica między tym a super w Javie