Verskil tussen hierdie en super in Java

INHOUDSOPGAWE:

Verskil tussen hierdie en super in Java
Verskil tussen hierdie en super in Java

Video: Verskil tussen hierdie en super in Java

Video: Verskil tussen hierdie en super in Java
Video: НЕ ВЫБРОСИЛА СТАРЫЙ ТЮЛЬ И ХОРОШО СЭКОНОМИЛА СЕМЕЙНЫЙ БЮДЖЕТ! 4 КРУТЫЕ ИДЕИ ИЗ ТЮЛЯ! 2024, November
Anonim

Sleutelverskil – dit teenoor super in Java

Die sleutelwoorde 'hierdie' en 'super' word in Java-programmering gebruik. Hierdie sleutelwoorde kan nie as veranderlikes of enige ander identifiseerdernaam gebruik word nie. Java ondersteun objekgeoriënteerde programmering (OOP). Die program of sagteware kan met behulp van voorwerpe gemodelleer word. Voorwerpe is onversadig deur klasse te gebruik. Een pilaar van OOP is oorerwing. Dit bied kode herbruikbaarheid. Die klasse wat reeds bestaan is superklasse, en die afgeleide klasse is subklasse. Die super sleutelwoord kan gebruik word om 'n voorwerp van die superklas te verwys. Daar is verskeie voorwerpe in die stelsel. Die 'hierdie' sleutelwoord word gebruik om 'n huidige voorwerp te verwys. Die sleutelverskil tussen hierdie en super is 'hierdie' is 'n verwysingsveranderlike wat gebruik word om die huidige objek te verwys terwyl 'super' 'n verwysingsveranderlike is wat gebruik word om onmiddellike superklasobjek te verwys.

Wat is dit in Java?

Die sleutelwoord 'hierdie' word gebruik om 'n huidige voorwerp te verwys. Verwys na die gegewe Java-program.

Verskil tussen hierdie en super in Java
Verskil tussen hierdie en super in Java

Figuur 01: Java-program wat hierdie sleutelwoord gebruik

In Java is daar drie tipes veranderlikes. Dit is instansie veranderlikes, plaaslike veranderlikes en klas veranderlikes. Volgens bogenoemde program het klaswerknemer twee instansieveranderlikes. Hulle is id en naam. Plaaslike veranderlikes is die veranderlikes wat aan metodes behoort. Klasveranderlikes word deur alle voorwerpe gedeel. Die ID en naam word aan die Werknemer-konstruktor oorgedra. As die programmeerder id=id; dit sal nie die instansieveranderlikes inisialiseer nie, want die Konstruktor het reeds id en naam. Daar is geen waardes vir byvoorbeeld veranderlikes nie. Dus, die druk daarvan sal null vertoon. Wanneer dit gebruik word, verwys dit na die huidige voorwerp. Gee dus id en naam aan die konstruktor kan die instansie veranderlikes stel.

Die sleutelwoord 'hierdie' kan gebruik word om die huidige klasmetode op te roep. Verwys na die gegewe java-program.

publieke klas Hierdie Demo{

public static void main(String args){

Myclass myClass=nuwe Myclass();

myClass. B();

}

}

klas Myklas{

publieke leemte A(){

System.out.println(“A”);

}

publieke leemte B(){

System.out.prinltn(“B”);

hierdie. A();

}

}

Die klas Myclass bevat twee metodes. Hulle is metode A en B. Wanneer 'n objek van Myclass geskep word en die metode B aanroep, sal B, A as die afvoer druk. In metode B, na druk B is daar 'n stelling soos hierdie. A(). Deur dit te gebruik, is die huidige klasmetode aangeroep.

Dit is ook moontlik om hierdie sleutelwoord te gebruik om die huidige klaskonstruktor op te roep. Verwys na die gegewe program.

publieke klas Hierdie Demo{

public static void main(String args){

A obj=nuwe A(5);

}

}

klas A{

public A(){

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

}

public A(int x){

hierdie();

System.out.println(“Parameterized Constructor A”);

}

}

Volgens bogenoemde program het klas A 'n verstekkonstruktor en 'n geparameteriseerde konstruktor. Wanneer 'n voorwerp van A geskep word, word die geparameteriseerde konstruktor genoem. In die geparameteriseerde konstruktor is daar 'n stelling soos hierdie(); Dit sal die huidige klaskonstruktor wat A() is, noem.

Wat is super in Java?

Die sleutelwoord 'super' hou verband met oorerwing. Oorerwing is 'n belangrike konsep van objekgeoriënteerde programmering. Dit maak dit moontlik om die eienskappe en metodes van die reeds bestaande klas na 'n nuwe klas te gebruik. Die reeds bestaande klas staan bekend as die ouerklas of superklas. Die nuwe klas staan bekend as die kinderklas of subklas.

Die 'super' is 'n verwysingsveranderlike wat gebruik word om die onmiddellike ouerklasobjek te verwys. Die super navraag kan onmiddellike ouer klas instansie veranderlike verwys of onmiddellike ouer klas metode aanroep. Die super() word gebruik om onmiddellike ouerklaskonstruktor op te roep.

Veronderstel dat daar twee klasse as A en B is. Klas A is die superklas en klas B is die subklas. Klas A, B het albei vertoonmetode.

publieke klas A{

public void display(){

System.out.println(“A”);

}

}

publieke klas B strek A{

public void display(){

System.out.println(“B”);

}

}

Wanneer 'n objek van tipe B geskep word en die metode vertoon word, sal dit die afvoer B gee. klas A het die vertoonmetode, maar dit word oorheers deur die subklas B-vertoonmetode. As die programmeerder die vertoonmetode in klas A wil noem, kan hy die super sleutelwoord gebruik. Verwys na die gegewe Java-program.

Verskil tussen hierdie en super in Java_Figure 02
Verskil tussen hierdie en super in Java_Figure 02

Figuur 02: Java-program wat supersleutelwoord gebruik

Volgens bogenoemde program het klas A 'n veranderlike genaamd nommer met waarde 10. Klas B strek A uit en het 'n veranderlike genaamd nommer met waarde 20. Oor die algemeen, wanneer 'n objek van tipe B geskep word en die vertoonmetode roep moet die getal in die subklas gee omdat die superklaswaarde deur die nuwe klas oorheers word. Deur die super.num te gebruik, word die superklasgetalwaarde gedruk.

Die super() kan gebruik word om die superklaskonstruktor te noem. Verwys na die onderstaande program.

publieke klas Hoof {

public static void main(String args){

B obj=nuwe B();

}

}

klas A{

A(){

System.out.println(“A”);

}

}

klas B strek A{

B(){

super();

System.out.println(“B”);

}

}

Volgens bogenoemde program het klas A 'n konstruktor A (). Klas B het die konstruktor B (). Klas B brei klas A uit. Wanneer 'n voorwerp van tipe B geskep word, sal dit A, B as die afvoer druk. Die B () konstruktor het super (). Daarom word die A-konstruktor eers opgeroep en gaan dan na B. Selfs al is super () nie geskryf nie, word die ouerkonstruktor by verstek genoem.

Die super wat die metode gebruik, is soos volg.

Sleutelverskil tussen hierdie en super in Java
Sleutelverskil tussen hierdie en super in Java

Figuur 03: Java-program wat die superklasmetode aanroep

Volgens bogenoemde program het klas A vertoonmetode. Klas B het ook vertoonmetode. Klas B strek A uit. Wanneer 'n objek van tipe B geskep word en die vertoningsmetode aanroep, sal uitset as A en B gee. In klas B vertoonmetode word klas A vertoonmetode genoem deur super.display() te gebruik. Daardie metode druk "A" eerste. Druk dan "B".

Wat is die ooreenkoms tussen hierdie en super?

Albei is sleutelwoorde in Java-programmering

Wat is die verskil tussen hierdie en super?

Dit vs Super

Die 'hierdie' is 'n verwysingsveranderlike wat gebruik word om die huidige voorwerp te verwys. Die 'super' is 'n verwysingsveranderlike wat gebruik word om 'n onmiddellike superklasvoorwerp te verwys.
Instance Variable
'n Huidige klas instansie veranderlike kan verwys word deur hierdie gebruik te maak. Superklas-instansieveranderlike kan verwys word deur super te gebruik.
Klasmetode
Die huidige klasmetode kan met behulp hiervan opgeroep word. Superklas-metode kan opgeroep word deur super te gebruik.
Konstrukteur
Die huidige klaskonstruktor kan met behulp van hierdie() opgeroep word. Superklas-konstruktor kan met behulp van super() opgeroep word.

Opsomming – dit teenoor super in Java

Die sleutelwoorde 'hierdie' en 'super' word in Java gebruik. Die sleutelwoorde kan nie as veranderlikes of enige ander identifiseerdernaam gebruik word nie. Dit lyk of hulle dieselfde is, maar hulle het 'n verskil. Die verskil tussen hierdie en super is dat super 'n verwysingsveranderlike is wat gebruik word om onmiddellike superklasobjek te verwys, terwyl dit 'n verwysingsveranderlike is wat die huidige objek verwys.

Laai die PDF van hierdie vs super in Java af

Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief die PDF-weergawe hier af: Verskil tussen hierdie en super in Java

Aanbeveel: