Ključna razlika - ovo u odnosu na super u Javi
Ključne riječi 'ovo' i 'super' koriste se u Java programiranju. Te se ključne riječi ne mogu koristiti kao varijable ili bilo koje drugo ime identifikatora. Java podržava objektno orijentirano programiranje (OOP). Program ili softver mogu se modelirati pomoću objekata. Objekti se zasitljuju pomoću klasa. Jedan stup OOP-a je nasljeđivanje. Omogućuje ponovnu upotrebu koda. Klase koje već postoje su superklase, a izvedene klase su podklase. Ključna riječ super može se koristiti za upućivanje na objekt superklase. U sustavu postoji više objekata. Ključna riječ 'this' koristi se za upućivanje na trenutni objekt. Ključna razlika između ovoga i super je 'ovo' je referentna varijabla koja se koristi za upućivanje na trenutni objekt, dok je 'super' referentna varijabla koja se koristi za upućivanje na neposredni objekt superklase.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je ovo u Javi
3. Što je super u Javi
4. Sličnosti između ovog i super u Javi
5. Usporedna usporedba - ovo u odnosu na super u Javi u tabličnom obliku
6. Sažetak
Što je ovo na Javi?
Ključna riječ 'ovo' koristi se za upućivanje na trenutni objekt. Pogledajte dati Java program.
Slika 01: Java program koji koristi ovu ključnu riječ
U Javi postoje tri vrste varijabli. To su varijable instance, lokalne varijable i varijable klase. Prema gornjem programu, razred Employee ima dvije varijable instance. Oni su osobno ime i ime. Lokalne varijable su varijable koje pripadaju metodama. Varijable klase dijele svi objekti. ID i ime prosljeđuju se konstruktoru Employee. Ako programer napiše id = id; neće inicijalizirati varijable instance jer Konstruktor već ima id i ime. Ne postoje vrijednosti za primjerice varijable. Dakle, njihov ispis prikazat će nulu. Kada se koristi, odnosi se na trenutni objekt. Stoga, davanje identiteta i imena konstruktoru može postaviti varijable instance.
Ključna riječ 'ovo' može se koristiti za pozivanje trenutne metode klase. Pogledajte dati java program.
javni razred ThisDemo {
javna statička void glavna (String args) {
Myclass myClass = novi Myclass ();
myClass. B ();
}
}
razred Myclass {
javna praznina A () {
System.out.println ("A");
}
javna praznina B () {
System.out.prinltn (“B”);
ovo();
}
}
Klasa Myclass sadrži dvije metode. Oni su metoda A i B. Prilikom stvaranja objekta Myclass-a i pozivanja na metodu B ispisat će se B, A kao izlaz. U metodi B, nakon ispisa B slijedi izjava kao ova. A (). Koristeći ovo, pozvana je trenutna metoda klase.
Također je moguće koristiti ovu ključnu riječ za pozivanje trenutnog konstruktora klase. Pogledajte zadani program.
javni razred ThisDemo {
javna statička void glavna (String args) {
A obj = novi A (5);
}
}
razred A {
javno A () {
System.out.println („Konstruktor A“);
}
javni A (int x) {
ovaj();
System.out.println (“Parametarski konstruktor A”);
}
}
Prema gornjem programu, klasa A ima zadani konstruktor i parametrizirani konstruktor. Prilikom stvaranja objekta A, poziva se parametrizirani konstruktor. U parametriziranom konstruktoru nalazi se izjava poput ove (); Pozvat će trenutni konstruktor klase koji je A ().
Što je super u Javi?
Ključna riječ 'super' povezana je s nasljeđivanjem. Nasljeđivanje je glavni koncept objektno orijentiranog programiranja. Omogućuje upotrebu svojstava i metoda već postojeće klase u novoj klasi. Već postojeća klasa poznata je kao roditeljska klasa ili superklasa. Nova klasa poznata je kao podređena klasa ili podrazred.
'Super' je referentna varijabla koja se koristi za upućivanje na neposredni objekt nadređene klase. Ključna riječ super može se odnositi na varijablu instance neposrednog nadređenog razreda ili pozvati metodu neposrednog nadređenog razreda. Super () se koristi za pozivanje konstruktora neposredne roditeljske klase.
Pretpostavimo da postoje dvije klase kao što su A i B. Klasa A je superrazred, a klasa B podrazred. Klasa A, B obje imaju način prikaza.
javni razred A {
javni prazan prikaz () {
System.out.println ("A");
}
}
javna klasa B proširuje A {
javni prazan prikaz () {
System.out.println (“B”);
}
}
Kada se kreira objekt tipa B i poziva metoda prikaza, dat će izlaz B. klasa A ima metodu prikaza, ali je nadjačana metodom prikaza podrazreda B. Ako programer želi nazvati metodu prikaza u klasi A, tada može upotrijebiti super ključnu riječ. Pogledajte dati Java program.
Slika 02: Java program koji koristi super ključnu riječ
Prema gornjem programu, klasa A ima varijablu s imenom broj s vrijednošću 10. Klasa B se proteže A i ima varijablu s imenom broj 20. Općenito, prilikom stvaranja objekta tipa B i pozivanja metode prikaza treba dati broj u potklasa jer je nova klasa nadjačala vrijednost superklase. Korištenjem super.num ispisuje se vrijednost broja superklase.
Super () se može koristiti za pozivanje konstruktora superklase. Pogledajte donji program.
javna klasa Main {
javna statička void glavna (String args) {
B obj = novo B ();
}
}
razred A {
A () {
System.out.println ("A");
}
}
razred B produžuje A {
B () {
super();
System.out.println (“B”);
}
}
Prema gornjem programu, klasa A ima konstruktor A (). Klasa B ima konstruktor B (). Klasa B proširuje klasu A. Prilikom stvaranja objekta tipa B, ispisat će A, B kao izlaz. Konstruktor B () ima super (). Stoga se prvo poziva A konstruktor, a zatim ide u B. Iako se super () ne zapisuje, prema zadanim postavkama poziva se nadređeni konstruktor.
Super pomoću metode je kako slijedi.
Slika 03: Java program koji poziva metodu superklase
Prema gornjem programu, klasa A ima način prikaza. Klasa B također ima način prikaza. Klasa B se proteže A. Prilikom stvaranja objekta tipa B i pozivanja metode prikaza dobit će se izlaz kao A i B. U metodi prikaza klase B metoda prikaza klase A poziva se pomoću super.display (). Ta metoda prvo ispisuje "A". Zatim ispisuje "B".
U čemu je sličnost između ovoga i super?
Obje su ključne riječi u Java programiranju
Koja je razlika između ovoga i super?
Diff Article Sredina prije tablice
Ovo vs Super |
|
'Ovo' je referentna varijabla koja se koristi za upućivanje na trenutni objekt. | 'Super' je referentna varijabla koja se koristi za upućivanje na neposredni objekt superklase. |
Instanca varijabla | |
Pomoću ovoga se može uputiti na trenutnu varijablu instance klase. | Varijabla instance superklase može se uputiti pomoću super. |
Razredna metoda | |
Trenutna metoda klase može se pozvati pomoću ove. | Metoda superklase može se pozvati pomoću super. |
Konstruktor | |
Konstruktor trenutne klase može se pozvati pomoću ovog (). | Konstruktor superklase može se pozvati pomoću super (). |
Sažetak - ovo protiv super u Javi
Ključne riječi 'ovo' i 'super' koriste se u Javi. Ključne riječi ne mogu se koristiti kao varijable ili bilo koje drugo ime identifikatora. Čini se da su isti, ali imaju razliku. Razlika između ovog i super je u tome što je super referentna varijabla koja se koristi za upućivanje na neposredni objekt superklase, dok je ovo referentna varijabla koja upućuje na trenutni objekt.
Preuzmite PDF ove verzije vs super na Javi
Možete preuzeti PDF verziju ovog članka i koristiti je u izvanmrežne svrhe prema napomeni. Preuzmite PDF verziju ovdje: Razlika između ove i super na Javi