Pagkakaiba sa pagitan nito at super sa Java

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan nito at super sa Java
Pagkakaiba sa pagitan nito at super sa Java

Video: Pagkakaiba sa pagitan nito at super sa Java

Video: Pagkakaiba sa pagitan nito at super sa Java
Video: Help! Can you write captions in your language for our ESL lesson videos? 2024, Nobyembre
Anonim

Mahalagang Pagkakaiba – ito vs super sa Java

Ang mga keyword na 'ito' at 'super' ay ginagamit sa Java programming. Ang mga keyword na ito ay hindi maaaring gamitin bilang mga variable o anumang iba pang pangalan ng identifier. Sinusuportahan ng Java ang Object Oriented Programming (OOP). Ang programa o software ay maaaring imodelo gamit ang mga bagay. Ang mga bagay ay hindi nabubusog gamit ang mga klase. Ang isang haligi ng OOP ay mana. Nagbibigay ito ng muling paggamit ng code. Ang mga klase na mayroon na ay mga superclass, at ang mga hinangong klase ay mga subclass. Ang super keyword ay maaaring gamitin upang i-refer ang isang object ng superclass. Mayroong maraming mga bagay sa system. Ang keyword na 'ito' ay ginagamit upang i-refer ang isang kasalukuyang bagay. Ang pangunahing pagkakaiba sa pagitan nito at super ay ang 'ito' ay isang reference variable na ginagamit para i-refer ang kasalukuyang object habang ang 'super' ay isang reference variable na ginagamit para i-refer ang agarang superclass na object.

Ano ito sa Java?

Ang keyword na 'ito' ay ginagamit upang sumangguni sa isang kasalukuyang bagay. Sumangguni sa ibinigay na Java program.

Pagkakaiba sa pagitan nito at super sa Java
Pagkakaiba sa pagitan nito at super sa Java

Figure 01: Java program gamit ang keyword na ito

Sa Java, mayroong tatlong uri ng mga variable. Ang mga ito ay mga variable na halimbawa, mga lokal na variable at mga variable ng klase. Ayon sa programa sa itaas, ang Class Employee ay may dalawang instance variable. Sila ay id at pangalan. Ang mga lokal na variable ay ang mga variable na nabibilang sa mga pamamaraan. Ang mga variable ng klase ay ibinabahagi ng lahat ng mga bagay. Ang id at pangalan ay ipinapasa sa Employee constructor. Kung ang programmer ay nagsusulat ng id=id; hindi nito sisimulan ang mga variable ng instance dahil mayroon nang id at pangalan ang Constructor. Walang mga halaga para sa mga variable na halimbawa. Kaya, ang pag-print sa mga ito ay magpapakita ng null. Kapag ginagamit ito, ito ay tumutukoy sa kasalukuyang bagay. Samakatuwid, ang pagbibigay ng id at pangalan sa constructor ay maaaring magtakda ng mga variable ng instance.

Maaaring gamitin ang keyword na 'ito' upang gamitin ang kasalukuyang paraan ng klase. Sumangguni sa ibinigay na java program.

public class ThisDemo{

public static void main(String args){

Myclass myClass=new Myclass();

myClass. B();

}

}

class Myclass{

public void A(){

System.out.println(“A”);

}

public void B(){

System.out.prinltn(“B”);

ito. A();

}

}

Ang klase na Myclass ay naglalaman ng dalawang pamamaraan. Ang mga ito ay paraan A at B. Kapag lumilikha ng isang bagay ng Myclass at ginagamit ang pamamaraan B ay magpi-print ng B, A bilang output. Sa paraan B, pagkatapos i-print ang B mayroong isang pahayag na ganito. A(). Gamit ito, ginamit ang kasalukuyang paraan ng klase.

Posible ring gamitin ang keyword na ito para i-invoke ang kasalukuyang constructor ng klase. Sumangguni sa ibinigay na programa.

public class ThisDemo{

public static void main(String args){

A obj=bagong A(5);

}

}

class A{

public A(){

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

}

public A(int x){

this();

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

}

}

Ayon sa programa sa itaas, ang class A ay may default na constructor at isang parameterized na constructor. Kapag lumilikha ng isang bagay ng A, ang parameterized constructor ay tinatawag. Sa parameterized constructor, mayroong isang pahayag tulad nito(); Tatawagin nito ang kasalukuyang tagabuo ng klase na A().

Ano ang super sa Java?

Ang keyword na ‘super’ ay nauugnay sa mana. Ang inheritance ay isang pangunahing konsepto ng Object Oriented Programming. Pinapayagan nito ang paggamit ng mga katangian at pamamaraan ng umiiral nang klase sa isang bagong klase. Ang dati nang klase ay kilala bilang parent class o superclass. Ang bagong klase ay kilala bilang child class o subclass.

Ang 'super' ay isang reference na variable na ginagamit para i-refer ang immediate parent class object. Ang super keyword ay maaaring mag-refer ng agarang parent class instance variable o mag-invoke ng agarang paraan ng parent class. Ang super() ay ginagamit upang mag-invoke ng agarang parent class constructor.

Ipagpalagay na mayroong dalawang klase bilang A at B. Ang Class A ay ang superclass at ang class B ay ang subclass. Parehong mayroong paraan ng pagpapakita ang Class A, B.

pampublikong klase A{

public void display(){

System.out.println(“A”);

}

}

public class B na umaabot sa A{

public void display(){

System.out.println(“B”);

}

}

Kapag gumagawa ng object ng uri B at tinawag ang method na display, ibibigay nito ang output B. class A ay may display method, ngunit ito ay na-override ng subclass B na paraan ng pagpapakita. Kung gusto ng programmer na tawagan ang paraan ng pagpapakita sa klase A, maaari niyang gamitin ang super keyword. Sumangguni sa ibinigay na Java program.

Pagkakaiba sa pagitan nito at super sa Java_Figure 02
Pagkakaiba sa pagitan nito at super sa Java_Figure 02

Figure 02: Java program na gumagamit ng super keyword

Ayon sa programa sa itaas, ang class A ay may variable na pinangalanang numero na may value na 10. Ang Class B ay umaabot sa A at may variable na pinangalanang numero na may value na 20. Sa pangkalahatan, kapag gumagawa ng object ng uri B at tinatawag ang display method dapat ibigay ang numero sa subclass dahil ang superclass na halaga ay na-override ng bagong klase. Sa pamamagitan ng paggamit ng super.num, ang halaga ng superclass na numero ay naka-print.

Ang super() ay maaaring gamitin para tawagan ang superclass constructor. Sumangguni sa programa sa ibaba.

public class Main {

public static void main(String args){

B obj=bagong B();

}

}

class A{

A(){

System.out.println(“A”);

}

}

class B ay umaabot sa A{

B(){

super();

System.out.println(“B”);

}

}

Ayon sa programa sa itaas, ang class A ay may constructor A (). Ang Class B ay may constructor B (). Pinapalawak ng Class B ang klase A. Kapag gumagawa ng object ng uri B, ipi-print nito ang A, B bilang output. Ang B () constructor ay may super (). Samakatuwid, una ang A constructor ay hinihingi at pagkatapos ay pupunta sa B. Kahit na hindi nakasulat ang super (), bilang default ay tinatawag ang parent constructor.

Ang sobrang gumagamit ng pamamaraan ay ang mga sumusunod.

Pangunahing Pagkakaiba sa pagitan nito at super sa Java
Pangunahing Pagkakaiba sa pagitan nito at super sa Java

Figure 03: Java program na gumagamit ng superclass method

Ayon sa programa sa itaas, ang klase A ay may paraan ng pagpapakita. Ang Class B ay mayroon ding paraan ng pagpapakita. Ang Class B ay umaabot sa A. Kapag lumilikha ng isang bagay ng uri B at ang pagtawag sa paraan ng pagpapakita ay magbibigay ng output bilang A at B. Sa paraan ng pagpapakita ng klase B, ang paraan ng pagpapakita ng klase A ay tinatawag gamit ang super.display(). Ang pamamaraang iyon ay nagpi-print muna ng "A". Pagkatapos ay ipi-print ang "B".

Ano ang Pagkakatulad sa pagitan nito at super?

Parehong keyword sa Java programming

Ano ang Pagkakaiba nito sa super?

This vs Super

Ang ‘ito’ ay isang reference variable na ginagamit upang i-refer ang kasalukuyang object. Ang ‘super’ ay isang reference na variable na ginagamit upang i-refer ang isang agarang superclass object.
Variable ng Instance
Maaaring i-refer ang kasalukuyang variable ng instance ng klase gamit ito. Maaaring i-refer ang superclass na instance variable gamit ang super.
Paraan ng Klase
Maaaring gamitin ang kasalukuyang paraan ng klase gamit ito. Maaaring gamitin ang superclass na paraan gamit ang super.
Constructor
Maaaring i-invoke ang kasalukuyang tagabuo ng klase gamit ito(). Maaaring i-invoke ang superclass constructor gamit ang super().

Buod – ito vs super sa Java

Ang mga keyword na 'ito' at 'super' ay ginagamit sa Java. Ang mga keyword ay hindi maaaring gamitin bilang mga variable o anumang iba pang pangalan ng identifier. Parang pareho sila, pero may pagkakaiba. Ang pagkakaiba sa pagitan nito at super ay ang super ay isang reference variable na ginagamit upang i-refer ang agarang superclass object habang ito ay isang reference variable na tumutukoy sa kasalukuyang object.

I-download ang PDF nito vs super sa Java

Maaari mong i-download ang PDF na bersyon ng artikulong ito at gamitin ito para sa mga offline na layunin ayon sa tala ng pagsipi. Paki-download ang bersyon ng PDF dito: Pagkakaiba sa pagitan nito at super sa Java

Inirerekumendang: