Diferența Dintre Aceasta și Super în Java

Cuprins:

Diferența Dintre Aceasta și Super în Java
Diferența Dintre Aceasta și Super în Java

Video: Diferența Dintre Aceasta și Super în Java

Video: Diferența Dintre Aceasta și Super în Java
Video: 💻Ce este JAVA si ce poti face cu Limbajul de Programare Java? | Programare in Java #0 2024, Mai
Anonim

Key Difference - acest vs super în Java

Cuvintele cheie „acesta” și „super” sunt utilizate în programarea Java. Aceste cuvinte cheie nu pot fi utilizate ca variabile sau ca orice alt nume de identificare. Java acceptă programarea orientată pe obiecte (OOP). Programul sau software-ul pot fi modelate folosind obiecte. Obiectele sunt nesăbuite folosind clase. Un pilon al POO este moștenirea. Oferă reutilizarea codului. Clasele care există deja sunt superclase, iar clasele derivate sunt subclasele. Cuvântul cheie super poate fi folosit pentru a face referire la un obiect al superclasei. Există mai multe obiecte în sistem. Cuvântul cheie „acesta” este utilizat pentru a face referire la un obiect curent. Diferența cheie între acesta și super este „aceasta” este o variabilă de referință care este utilizată pentru a referi obiectul curent în timp ce „super” este o variabilă de referință care este utilizată pentru a referi obiectul superclasei imediate.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este asta în Java

3. Ce este super în Java

4. Asemănări între acesta și super în Java

5. Comparare side by side - acest vs super în Java în formă tabelară

6. Rezumat

Ce este asta în Java?

Cuvântul cheie „acesta” este utilizat pentru a face referire la un obiect curent. Consultați programul Java dat.

Diferența dintre aceasta și super în Java
Diferența dintre aceasta și super în Java

Figura 01: Program Java folosind acest cuvânt cheie

În Java, există trei tipuri de variabile. Sunt variabile de instanță, variabile locale și variabile de clasă. Conform programului de mai sus, clasa Angajat are două variabile de instanță. Sunt id și nume. Variabilele locale sunt variabilele care aparțin metodelor. Variabilele de clasă sunt partajate de toate obiectele. ID-ul și numele sunt transmise constructorului angajaților. Dacă programatorul scrie id = id; nu va inițializa variabilele de instanță deoarece Constructorul are deja id și nume. Nu există valori pentru variabilele de exemplu. Deci, imprimarea lor va fi afișată nulă. Când utilizați acest lucru, se referă la obiectul curent. Prin urmare, acordarea de id și nume constructorului poate seta variabilele de instanță.

Cuvântul cheie „acesta” poate fi utilizat pentru a invoca metoda clasei curente. Consultați programul Java dat.

clasă publică ThisDemo {

public static void main (String args) {

Myclass myClass = new Myclass ();

myClass. B ();

}

}

clasa Myclass {

gol public A () {

System.out.println („A”);

}

gol public B () {

System.out.prinltn („B”);

aceasta. A ();

}

}

Clasa Myclass conține două metode. Acestea sunt metoda A și B. Când creați un obiect din Myclass și invocați metoda B, se va imprima B, A ca ieșire. În metoda B, după tipărirea B există o afirmație ca aceasta. A (). Folosind aceasta, a fost invocată metoda curentă a clasei.

De asemenea, este posibil să utilizați acest cuvânt cheie pentru a invoca constructorul de clasă curent. Consultați programul dat.

clasă publică ThisDemo {

public static void main (String args) {

A obj = new A (5);

}

}

clasa a{

public A () {

System.out.println („Constructorul A”);

}

public A (int x) {

acest();

System.out.println („Constructor parametrizat A”);

}

}

Conform programului de mai sus, clasa A are un constructor implicit și un constructor parametrizat. La crearea unui obiect A, se numește constructorul parametrizat. În constructorul parametrizat, există o afirmație ca aceasta (); Se va apela la constructorul de clasă curent care este A ().

Ce este super în Java?

Cuvântul cheie „super” este legat de moștenire. Moștenirea este un concept major al programării orientate pe obiecte. Permite utilizarea proprietăților și metodelor clasei deja existente la o nouă clasă. Clasa deja existentă este cunoscută sub numele de clasă părinte sau superclasă. Noua clasă este cunoscută sub numele de clasă sau subclasă pentru copii.

„Super” este o variabilă de referință care este utilizată pentru a referi obiectul imediat al clasei părinte. Cuvântul cheie super poate face referire la variabila de instanță imediată a clasei părinte sau poate invoca metoda clasei părinte imediate. Super () este folosit pentru a invoca constructorul imediat al clasei părinte.

Să presupunem că există două clase ca A și B. Clasa A este superclasa și clasa B este subclasa. Clasa A, B au ambele metode de afișare.

clasa publica A {

afișare publică nulă () {

System.out.println („A”);

}

}

clasa publică B extinde A {

afișare publică nulă () {

System.out.println („B”);

}

}

Când creați un obiect de tip B și apelați afișarea metodei, acesta va da ieșirii B. clasa A are metoda de afișare, dar este suprascrisă de metoda de afișare a subclasei B. Dacă programatorul dorește să apeleze metoda de afișare din clasa A, atunci poate folosi super-cuvântul cheie. Consultați programul Java dat.

Diferența dintre aceasta și super în Java Figura 02
Diferența dintre aceasta și super în Java Figura 02

Figura 02: Program Java folosind super cuvânt cheie

În conformitate cu programul de mai sus, clasa A are o variabilă numită cu valoarea 10. Clasa B extinde A și are o variabilă numită număr cu valoarea 20. În general, atunci când creați un obiect de tip B și apelați metoda de afișare ar trebui să dați numărul în subclasa deoarece valoarea superclasei este anulată de noua clasă. Prin utilizarea super.num, se imprimă valoarea numărului superclasei.

Super () poate fi folosit pentru a apela constructorul superclasei. Consultați programul de mai jos.

public class Main {

public static void main (String args) {

B obj = nou B ();

}

}

clasa a{

A(){

System.out.println („A”);

}

}

clasa B extinde A {

B () {

super();

System.out.println („B”);

}

}

Conform programului de mai sus, clasa A are un constructor A (). Clasa B are constructorul B (). Clasa B extinde clasa A. Când creați un obiect de tip B, acesta va imprima A, B ca ieșire. Constructorul B () are super (). Prin urmare, mai întâi este invocat constructorul A și apoi merge la B. Chiar dacă super () nu este scris, implicit se numește constructorul părinte.

Super folosind metoda este după cum urmează.

Diferența cheie dintre aceasta și super în Java
Diferența cheie dintre aceasta și super în Java

Figura 03: Program Java care invocă metoda superclasei

Conform programului de mai sus, clasa A are metoda de afișare. Clasa B are și metodă de afișare. Clasa B se extinde A. Când creați un obiect de tip B și apelați metoda de afișare, veți obține rezultate ca A și B. În metoda de afișare din clasa B, metoda de afișare din clasa A se numește folosind super.display (). Această metodă tipărește mai întâi „A”. Apoi imprimă „B”.

Care este asemănarea dintre asta și super?

Ambele sunt cuvinte cheie în programarea Java

Care este diferența dintre asta și super?

Difuzarea articolului din mijloc înainte de tabel

Aceasta vs Super

„Aceasta” este o variabilă de referință care este utilizată pentru a referi obiectul curent. „Super” este o variabilă de referință care este utilizată pentru a referi un obiect de superclasă imediat.
Variabila de instanta
O variabilă de instanță de clasă curentă poate fi referită folosind aceasta. Variabila de instanță Superclass poate fi referită folosind super.
Metoda clasei
Metoda curentă a clasei poate fi invocată folosind aceasta. Metoda superclasei poate fi invocată folosind super.
Constructor
Constructorul de clase curent poate fi invocat folosind acest (). Constructorul superclasei poate fi invocat folosind super ().

Rezumat - acest vs super în Java

Cuvintele cheie „acesta” și „super” sunt utilizate în Java. Cuvintele cheie nu pot fi utilizate ca variabile sau ca orice alt nume de identificare. Se pare că sunt la fel, dar au o diferență. Diferența dintre acesta și super este că super este o variabilă de referință care este utilizată pentru a referi obiectul superclasei imediate în timp ce aceasta este o variabilă de referință care face referire la obiectul curent.

Descărcați PDF-ul acestui super în Java

Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline, conform notei de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre aceasta și super în Java

Recomandat: