Ero tämän ja Superin välillä Javassa

Sisällysluettelo:

Ero tämän ja Superin välillä Javassa
Ero tämän ja Superin välillä Javassa

Video: Ero tämän ja Superin välillä Javassa

Video: Ero tämän ja Superin välillä Javassa
Video: Java Super Keyword Tutorial - Super Keyword for Variables, Constructors and Methods 2024, Heinäkuu
Anonim

Avainero – tämä vs super Java

Avainsanat 'this' ja 'super' käytetään Java-ohjelmoinnissa. Näitä avainsanoja ei voi käyttää muuttujina tai muuna tunnistenimenä. Java tukee Object Oriented Programming (OOP) -ohjelmointia. Ohjelma tai ohjelmisto voidaan mallintaa objektien avulla. Objektit ovat kyltymättömiä luokkien avulla. Yksi OOP:n pilareista on perintö. Se tarjoaa koodin uudelleenkäytettävyyden. Jo olemassa olevat luokat ovat yliluokkia ja johdetut luokat ovat alaluokkia. Super-avainsanalla voidaan viitata superluokan objektiin. Järjestelmässä on useita kohteita. "Tätä"-avainsanaa käytetään viittaamaan nykyiseen kohteeseen. Keskeinen ero tämän ja superin välillä on "this" on viitemuuttuja, jota käytetään viittaamaan nykyiseen objektiin, kun taas "super" on viitemuuttuja, jota käytetään viittaamaan välittömään superluokkaobjektiin.

Mitä tämä on Javassa?

Avainsanaa 'this' käytetään viittaamaan nykyiseen objektiin. Katso annettu Java-ohjelma.

Ero tämän ja Superin välillä Javassa
Ero tämän ja Superin välillä Javassa

Kuva 01: Java-ohjelma tällä avainsanalla

Javassa on kolmenlaisia muuttujia. Ne ovat ilmentymämuuttujia, paikallismuuttujia ja luokkamuuttujia. Yllä olevan ohjelman mukaan luokassa Työntekijä on kaksi instanssimuuttujaa. Ne ovat id ja nimi. Paikalliset muuttujat ovat muuttujia, jotka kuuluvat menetelmiin. Luokkamuuttujat ovat kaikkien objektien yhteisiä. Tunnus ja nimi välitetään Työntekijän rakentajalle. Jos ohjelmoija kirjoittaa id=id; se ei alusta ilmentymämuuttujia, koska Constructorilla on jo tunnus ja nimi. Esimerkiksi muuttujilla ei ole arvoja. Joten niiden tulostaminen näyttää tyhjän. Tätä käytettäessä se viittaa nykyiseen objektiin. Siksi tunnuksen ja nimen antaminen rakentajalle voi asettaa ilmentymämuuttujat.

Avainsanaa 'this' voidaan käyttää nykyisen luokan menetelmän kutsumiseen. Katso annettu java-ohjelma.

julkinen luokka ThisDemo{

julkinen staattinen void main(String args){

Myclass myClass=new Myclass();

omaluokka. B();

}

}

luokka Omaluokka{

julkinen void A(){

System.out.println("A");

}

julkinen void B(){

System.out.prinltn("B");

this. A();

}

}

Luokka Myclass sisältää kaksi menetelmää. Ne ovat metodi A ja B. Kun luot Myclassin objektin ja vedotaan metodia B, tulosteena tulostetaan B, A. Menetelmässä B, tulostuksen B jälkeen, on käsky kuten this. A(). Tätä käyttämällä kutsuttiin nykyinen luokkamenetelmä.

Tällä avainsanalla voidaan myös kutsua nykyinen luokan rakentaja. Katso annettu ohjelma.

julkinen luokka ThisDemo{

julkinen staattinen void main(String args){

A obj=uusi A(5);

}

}

luokka A{

julkinen A(){

System.out.println("Rakentaja A");

}

julkinen A(int x){

this();

System.out.println("Parametrisoitu konstruktori A");

}

}

Yllä olevan ohjelman mukaan luokassa A on oletuskonstruktori ja parametroitu konstruktori. A:n objektia luotaessa kutsutaan parametroitua konstruktoria. Parametrisoidussa konstruktorissa on tällainen käsky(); Se kutsuu nykyistä luokan konstruktoria, joka on A().

Mikä on superhyvää Javassa?

Avainsana 'super' liittyy perintöön. Periytys on olio-ohjelmoinnin pääkäsite. Se mahdollistaa jo olemassa olevan luokan ominaisuuksien ja menetelmien käytön uuteen luokkaan. Jo olemassa olevaa luokkaa kutsutaan yläluokkaksi tai yläluokkaksi. Uusi luokka tunnetaan alaluokkana tai alaluokkana.

'Super' on viitemuuttuja, jota käytetään viittaamaan välittömään pääluokan objektiin. Superavainsana voi viitata välittömään emoluokan ilmentymämuuttujaan tai kutsua välittömään yläluokkaan. Super()-komentoa käytetään välittömän yläluokan rakentajan kutsumiseen.

Oletetaan, että on olemassa kaksi luokkaa A ja B. Luokka A on yliluokka ja luokka B on alaluokka. Molemmilla luokilla A ja B on näyttötapa.

julkinen luokka A{

julkinen void display(){

System.out.println("A");

}

}

julkinen luokka B laajentaa A{

julkinen void display(){

System.out.println("B");

}

}

Kun luot B-tyypin objektia ja kutsut metodin näyttöä, se antaa tulosteen B. Luokassa A on näyttömenetelmä, mutta alaluokan B näyttömenetelmä ohittaa sen. Jos ohjelmoija haluaa kutsua näyttömenetelmää luokassa A, hän voi käyttää superavainsanaa. Katso annettu Java-ohjelma.

Ero tämän ja superin välillä Java_Kuva 02:ssa
Ero tämän ja superin välillä Java_Kuva 02:ssa

Kuva 02: Java-ohjelma superavainsanalla

Yllä olevan ohjelman mukaan luokassa A on muuttuja nimeltä numero, jonka arvo on 10. Luokka B laajentaa A:ta ja siinä on muuttuja nimeltä numero arvolla 20. Yleensä luotaessa B-tyypin objektia ja kutsuttaessa näyttötapaa tulee antaa alaluokan numero, koska uusi luokka ohittaa superluokan arvon. Super.num-arvoa käyttämällä tulostetaan superluokan numeron arvo.

Super()-funktiota voidaan käyttää kutsumaan superluokan konstruktoria. Katso alla olevaa ohjelmaa.

julkinen luokka Main {

julkinen staattinen void main(String args){

B obj=uusi B();

}

}

luokka A{

A(){

System.out.println("A");

}

}

luokka B laajentaa A{

B(){

super();

System.out.println("B");

}

}

Yllä olevan ohjelman mukaan luokassa A on konstruktori A (). Luokassa B on konstruktori B (). Luokka B laajentaa luokkaa A. Kun luot B-tyypin objektia, se tulostaa tulosteena A, B. B ()-konstruktorissa on super (). Siksi ensin kutsutaan konstruktori A ja sitten siirrytään B:hen. Vaikka super():ta ei kirjoiteta, oletusarvoisesti kutsutaan pääkonstruktoria.

Menetelmän käyttö on seuraava.

Keskeinen ero tämän ja Superin välillä Javassa
Keskeinen ero tämän ja Superin välillä Javassa

Kuva 03: Java-ohjelma, joka kutsuu superluokkamenetelmän

Yllä olevan ohjelman mukaan luokassa A on näyttötapa. Luokassa B on myös näyttömenetelmä. Luokka B laajentaa A:ta. Kun luot B-tyypin objektin ja kutsut näyttömenetelmää, tulosteet ovat A ja B. Luokan B näyttömenetelmässä luokan A näyttömenetelmää kutsutaan komennolla super.display(). Tämä menetelmä tulostaa ensin A:n. Tulostaa sitten "B".

Mitä samank altaisuutta tällä ja superilla on?

Molemmat ovat Java-ohjelmoinnin avainsanoja

Mitä eroa tällä ja superilla on?

Tämä vs Super

'Tämä' on viitemuuttuja, jota käytetään viittaamaan nykyiseen objektiin. 'Super' on viitemuuttuja, jota käytetään viittaamaan välittömään superluokkaobjektiin.
Instanssimuuttuja
Nykyisen luokan ilmentymämuuttujaan voidaan viitata käyttämällä tätä. Superluokan ilmentymämuuttujaan voidaan viitata käyttämällä supera.
luokkamenetelmä
Nykyinen luokkamenetelmä voidaan kutsua tällä. Superclass-metodia voidaan kutsua käyttämällä supera.
Rakentaja
Nykyinen luokan konstruktori voidaan kutsua käyttämällä tätä(). Superluokan konstruktori voidaan kutsua käyttämällä super().

Yhteenveto – tämä vs super Java

Javassa käytetään avainsanoja 'this' ja 'super'. Avainsanoja ei voi käyttää muuttujina tai muuna tunnistenimenä. Ne näyttävät olevan samoja, mutta niillä on ero. Ero tämän ja superin välillä on se, että super on viitemuuttuja, jota käytetään viittaamaan välittömään superluokkaobjektiin, kun taas tämä on viitemuuttuja, joka viittaa nykyiseen objektiin.

Lataa PDF tästä vs super Javassa

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä: Ero tämän ja superin välillä Javassa

Suositeltava: