Tärkein ero - tämä vs super Java
Avainsanoja 'tämä' ja 'super' käytetään Java-ohjelmoinnissa. Näitä avainsanoja ei voida käyttää muuttujina tai millään muulla tunnistetunnuksella. Java tukee olio-ohjelmointia (OOP). Ohjelma tai ohjelmisto voidaan mallintaa esineiden avulla. Objektit ovat tyytymättömiä luokkien avulla. Yksi OOP: n pilari on perintö. Se tarjoaa koodin uudelleenkäytettävyyden. Jo olemassa olevat luokat ovat superluokkia, ja johdetut luokat ovat alaluokkia. Supersanaa voidaan käyttää viitaten yliluokan objektiin. Järjestelmässä on useita objekteja. Tätä avainsanaa käytetään viittaamaan nykyiseen objektiin. Tärkein ero tämän ja superin välillä on "tämä" on referenssimuuttuja, jota käytetään viittaamaan nykyiseen objektiin, kun taas "super" on viitemuuttuja, jota käytetään viittaamaan välittömään superluokan objektiin.
SISÄLLYS
1. Yleiskatsaus ja avainerot
2. Mitä tämä on Java-ohjelmassa
3. Mikä on super-Java-
versiota 4. Tämän yhtäläisyydet Java: n super-ominaisuuksien kanssa
5. Vertailu rinnakkain - tämä vs. Java-taulukkomuoto
6. Yhteenveto
Mitä tämä on Java-ohjelmassa?
Avainsanaa 'tämä' käytetään viittaamaan nykyiseen objektiin. Katso annettu Java-ohjelma.
Kuva 01: Java-ohjelma, joka käyttää tätä avainsanaa
Java-ohjelmassa on kolmenlaisia muuttujia. Ne ovat esiintymämuuttujia, paikallisia muuttujia ja luokan muuttujia. Yllä olevan ohjelman mukaan luokassa Employee on kaksi instanssimuuttujaa. Ne ovat henkilötunnus ja nimi. Paikalliset muuttujat ovat muuttujia, jotka kuuluvat menetelmiin. Luokkamuuttujat jaetaan kaikille kohteille. Tunnus ja nimi välitetään työntekijän rakentajalle. Jos ohjelmoija kirjoittaa id = id; se ei alusta ilmentymämuuttujia, koska Rakentajalla on jo tunnus ja nimi. Esimerkiksi muuttujille ei ole arvoja. Joten niiden tulostaminen näyttää tyhjän. Tätä käytettäessä se viittaa nykyiseen kohteeseen. Siksi id: n ja nimen antaminen konstruktorille voi asettaa ilmentymämuuttujia.
Hakusanalla 'tämä' voidaan käyttää nykyistä luokkatapaa. Katso annettu Java-ohjelma.
julkinen luokka ThisDemo {
public staattinen void main (String argumentoi) {
Oma luokka myClass = uusi Oma luokka ();
myClass. B ();
}
}
luokka Oma luokka {
julkinen mitätö A () {
System.out.println (“A”);
}
julkinen mitätö B () {
System.out.prinltn (“B”);
Tämä();
}
}
Luokka Oma luokka sisältää kaksi menetelmää. Ne ovat menetelmä A ja B. Kun luot Myclass-objektin ja menetelmän B, tulostetaan tulosteeksi B, A. Menetelmässä B on tulostus B: n jälkeen lauseke A (). Tätä käyttämällä käytettiin nykyistä luokan menetelmää.
Tällä avainsanalla on myös mahdollista kutsua nykyinen luokan konstruktori. Katso annettu ohjelma.
julkinen luokka ThisDemo {
public staattinen void main (String argumentoi) {
A obj = uusi A (5);
}
}
luokka A {
julkinen A () {
System.out.println ("Rakentaja A");
}
julkinen A (int x) {
Tämä();
System.out.println ("Parametroitu rakentaja A");
}
}
Yllä olevan ohjelman mukaan luokassa A on oletusrakentaja ja parametrisoitu konstruktori. Kun luot objektia A, parametroitu konstruktori kutsutaan. Parametroidussa konstruktorissa on tällainen lause (); Se kutsuu nykyistä luokan konstruktoria, joka on A ().
Mikä on super Java?
Avainsana "super" liittyy perintöön. Perintö on olio-ohjelmoinnin pääkäsite. Se mahdollistaa jo olemassa olevan luokan ominaisuuksien ja menetelmien käytön uudelle luokalle. Jo olemassa oleva luokka tunnetaan emoluokana tai yläluokana. Uusi luokka tunnetaan lapsiluokana tai alaluokana.
'Super' on viitemuuttuja, jota käytetään viittaamaan välittömään pääluokkakohteeseen. Erikoisavainsana voi viitata välittömään vanhemman luokan esiintymämuuttujaan tai käyttää välittömän vanhemman luokan menetelmää. Superia () käytetään välittömän vanhemman luokan konstruktorin kutsumiseen.
Oletetaan, että on olemassa kaksi luokkaa, koska A ja B. Luokka A on yliluokka ja luokka B on alaluokka. Molemmilla luokilla A ja B on näyttötapa.
julkinen luokka A {
public void display () {
System.out.println (“A”);
}
}
julkinen luokka B jatkuu A {
public void display () {
System.out.println (“B”);
}
}
Kun luot tyypin B objektin ja soitat menetelmän näyttöön, se antaa lähdölle B. Luokalla A on näyttötapa, mutta aliluokan B näyttötapa ohittaa sen. Jos ohjelmoija haluaa kutsua luokan A näyttötavan, hän voi käyttää super-avainsanaa. Katso annettu Java-ohjelma.
Kuva 02: Java-ohjelma superavainsanalla
Yllä olevan ohjelman mukaan luokassa A on muuttuja nimeltä numero, jonka arvo on 10. Luokka B ulottuu A: n ja sillä on muuttuja nimeltä numero, jolla on arvo 20. Yleensä, kun luodaan tyypin B objekti ja soitetaan näyttötapaa, sen pitäisi antaa numero alaluokka, koska uusi luokka korvaa yliluokan arvon. Käyttämällä super.num-arvoa superluokan numeroarvo tulostetaan.
Superia () voidaan käyttää superluokan rakentajan kutsumiseen. Katso alla oleva ohjelma.
julkinen luokka Pää {
public staattinen void main (String argumentoi) {
B obj = uusi B ();
}
}
luokka A {
A () {
System.out.println (“A”);
}
}
luokka B jatkuu A {
B () {
super ();
System.out.println (“B”);
}
}
Yllä olevan ohjelman mukaan luokassa A on konstruktori A (). Luokalla B on rakentaja B (). Luokka B laajentaa luokkaa A. Kun luot tyypin B objektin, se tulostaa A, B tulosteeksi. B () -rakentajalla on super (). Siksi ensin kutsutaan A-konstruktori ja siirretään sitten B.: hen. Vaikka super () ei ole kirjoitettu, kutsutaan oletusarvoisesti vanhempi konstruktori.
Menetelmää käyttävä super on seuraava.
Kuva 03: Java-ohjelma, joka käyttää superluokan menetelmää
Yllä olevan ohjelman mukaan luokassa A on näyttötapa. Luokalla B on myös näyttötapa. Luokka B ulottuu A. Kun luot tyypin B objektin ja kutsut näyttötapaa, tulos on A ja B. Luokan B näyttömenetelmässä luokan A näyttötapaa kutsutaan super.display (): n avulla. Tuo menetelmä tulostaa ensin "A". Tulosta sitten "B".
Mikä on tämän ja superin yhtäläisyys?
Molemmat ovat avainsanoja Java-ohjelmoinnissa
Mikä on ero tämän ja superin välillä?
Erilainen artikkeli keskellä taulukkoa
Tämä vs Super |
|
'Tämä' on viitemuuttuja, jota käytetään viittaamaan nykyiseen objektiin. | 'Super' on viitemuuttuja, jota käytetään välittömän superluokan objektin osoittamiseen. |
Ilmentymämuuttuja | |
Nykyinen luokan ilmentymämuuttuja voidaan viitata tällä tavalla. | Superclass-esiintymämuuttujaan voidaan viitata superin avulla. |
Luokan menetelmä | |
Nykyistä luokkamenetelmää voidaan käyttää tällä tavalla. | Superclass-menetelmään voidaan vedota super. |
Rakentaja | |
Nykyinen luokan konstruktori voidaan kutsua käyttämällä tätä (). | Superkurssirakentaja voidaan kutsua käyttämällä super (). |
Yhteenveto - tämä vs super Java
Avainsanoja 'tämä' ja 'super' käytetään Javassa. Avainsanoja ei voida käyttää muuttujina tai millään muulla tunnistetunnuksella. Ne näyttävät olevan samat, mutta niillä on ero. Ero tämän ja superin välillä on se, että super on vertailumuuttuja, jota käytetään viittaamaan välittömään superluokan objektiin, kun taas tämä on viitemuuttuja, joka viittaa nykyiseen objektiin.
Lataa tämän Java -sovelluksen PDF-tiedosto
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä: Ero tämän ja Java-superin välillä