Différence entre cela et super en Java

Différence clé - cette vs super en Java
 

Les mots-clés 'this' et 'super' sont utilisés dans la programmation Java. Ces mots-clés ne peuvent pas être utilisés comme variables ou tout autre nom d'identifiant. Java prend en charge la programmation orientée objet (OOP). Le programme ou le logiciel peut être modélisé à l'aide d'objets. Les objets sont insatiables en utilisant des classes. L'un des piliers de la POO est l'héritage. Il fournit la possibilité de réutilisation du code. Les classes existantes sont des superclasses et les classes dérivées sont des sous-classes. Le mot-clé super peut être utilisé pour désigner un objet de la super-classe. Il y a plusieurs objets dans le système. Le mot clé 'this' est utilisé pour désigner un objet actuel. le différence clé entre ceci et super est 'this 'est une variable de référence utilisée pour référencer l'objet actuel tandis que 'super' est une variable de référence utilisée pour référencer un objet immédiat de la superclasse. 

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce que c'est en Java
3. Qu'est-ce qui est super en Java?
4. Similitudes entre ceci et super en Java
5. Comparaison côte à côte - ce vs super en Java sous forme tabulaire
6. Résumé

Qu'est-ce que c'est en Java?

Le mot clé 'this' est utilisé pour désigner un objet actuel. Se référer au programme Java donné.

Figure 01: programme Java utilisant ce mot clé

En Java, il existe trois types de variables. Ce sont des variables d'instance, des variables locales et des variables de classe. Selon le programme ci-dessus, la classe Employee a deux variables d'instance. Ils sont id et nom. Les variables locales sont les variables appartenant aux méthodes. Les variables de classe sont partagées par tous les objets. L'identifiant et le nom sont transmis au constructeur Employee. Si le programmeur écrit id = id; cela n'initialisera pas les variables d'instance car le constructeur a déjà un identifiant et un nom. Il n'y a pas de valeurs pour les variables d'instance. Donc, les imprimer affichera null. En l'utilisant, cela fait référence à l'objet actuel. Par conséquent, donner l’identifiant et le nom au constructeur peut définir les variables d’instance..

Le mot clé 'this' peut être utilisé pour appeler la méthode de classe en cours. Se référer au programme java donné.

Classe publique ThisDemo

public static void main (String [] args)

Myclass myClass = new Myclass ();

myClass.B ();

classe Myclass

vide public A ()

System.out.println («A»);

vide public B ()

System.out.prinltn («B»);

this.A ();

La classe Myclass contient deux méthodes. Ce sont les méthodes A et B. Lors de la création d'un objet de Myclass et de l'appel de la méthode B, B, A sera imprimé en sortie. Dans la méthode B, après avoir imprimé B, il existe une instruction comme ceci.A (). En utilisant cela, la méthode de classe actuelle a été appelée.

Il est également possible d'utiliser ce mot clé pour appeler le constructeur de la classe en cours. Référer le programme donné.

Classe publique ThisDemo

public static void main (String [] args)

A obj = nouveau A (5);

Classe A

public A ()

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

public A (int x)

ce();

System.out.println (“Constructeur paramétré A”);

Selon le programme ci-dessus, la classe A a un constructeur par défaut et un constructeur paramétré. Lors de la création d'un objet de A, le constructeur paramétré est appelé. Dans le constructeur paramétré, il existe une instruction comme celle-ci (); Il appellera le constructeur de classe actuel qui est A ().

Qu'est-ce qui est super en Java??

Le mot clé 'super' est lié à l'héritage. L'héritage est un concept majeur de la programmation orientée objet. Cela permet d'utiliser les propriétés et les méthodes de la classe existante dans une nouvelle classe. La classe existante est connue sous le nom de classe parent ou de superclasse. La nouvelle classe est appelée classe ou sous-classe enfant..

Le «super» est une variable de référence utilisée pour référencer l'objet de classe parent immédiat. Le mot clé super peut faire référence à une variable d'instance de classe parent immédiate ou à une méthode de classe parent immédiate. Super () est utilisé pour invoquer le constructeur de la classe parent immédiate.

Supposons qu'il existe deux classes A et B. La classe A est la superclasse et la classe B est la sous-classe. Classe A, B les deux ont la méthode d'affichage.

public class A

public void display ()

System.out.println («A»);

La classe publique B étend A

public void display ()

System.out.println («B»);

Lors de la création d'un objet de type B et de l'appel de la méthode display, la sortie sera affichée à la classe B. La classe A possède la méthode display, mais elle est remplacée par la méthode display de la sous-classe B. Si le programmeur souhaite appeler la méthode d'affichage en classe A, il peut utiliser le mot-clé super. Se référer au programme Java donné.

Figure 02: programme Java utilisant le mot-clé super

Selon le programme ci-dessus, la classe A a une variable nommée numéro avec la valeur 10. La classe B étend A et une variable nommée numéro avec la valeur 20. Généralement, lors de la création d'un objet de type B et de l'appel de la méthode d'affichage, le nombre doit être donné la sous-classe car la valeur de la super-classe est remplacée par la nouvelle classe. En utilisant le super.num, la valeur du numéro de la superclasse est imprimée.

Super () peut être utilisé pour appeler le constructeur de la superclasse. Voir le programme ci-dessous.

classe publique Main

public static void main (String [] args)

B obj = nouveau B ();

Classe A

UNE()

System.out.println («A»);

classe B étend A

B ()

super();

System.out.println («B»);

Selon le programme ci-dessus, la classe A a un constructeur A (). La classe B a le constructeur B (). La classe B étend la classe A. Lors de la création d'un objet de type B, il imprimera A, B comme sortie. Le constructeur B () a super (). Par conséquent, le constructeur A est d'abord appelé, puis passe à B. Même si super () n'est pas écrit, le constructeur parent est appelé par défaut..

Le super en utilisant la méthode est comme suit.

Figure 03: programme Java invoquant la méthode superclass

Selon le programme ci-dessus, la classe A a une méthode d'affichage. La classe B a aussi une méthode d'affichage. La classe B s’étend de A. Lorsque vous créez un objet de type B et que vous appelez la méthode d’affichage, les résultats sont fournis sous forme de A et B. Dans la méthode d’affichage de classe B, la méthode d’affichage de classe A est appelée avec super.display (). Cette méthode affiche “A” en premier. Puis imprime "B".

Quelle est la similitude entre cela et super?

  • Les deux sont des mots-clés en programmation Java.

Quelle est la difference entre this et super?

Ce vs super

Le 'this' est une variable de référence utilisée pour référencer l'objet actuel. Le 'super' est une variable de référence utilisée pour référencer un objet immédiat de la superclasse..
 Variable d'instance
Une variable d'instance de classe actuelle peut être référée à l'aide de cette. La variable d'instance Superclass peut être référée à l'aide de super.
Méthode de classe
La méthode de classe en cours peut être appelée à l'aide de cette. La méthode Superclass peut être appelée à l'aide de super.
 Constructeur
Le constructeur de classe actuel peut être appelé en utilisant this (). Le constructeur de superclasse peut être invoqué à l'aide de super ().

Résumé - ceci vs super en Java

Les mots-clés 'this' et 'super' sont utilisés en Java. Les mots-clés ne peuvent pas être utilisés comme variables ou tout autre nom d'identifiant. Ils semblent être les mêmes, mais ils ont une différence. La différence entre this et super est que super est une variable de référence utilisée pour référencer un objet immédiat de la superclasse, alors qu'il s'agit d'une variable de référence référençant l'objet actuel..

Téléchargez le PDF de ce vs super en Java

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne, conformément à la note de citation. Veuillez télécharger la version PDF ici: Différence entre cela et super en Java

Référence:

1.This () et super mot-clé en Java et son objectif, avec un bref exemple, Atoz Knowledge, 31 janv. 2015. Disponible ici 
2. "Ce mot-clé en java - point java." Disponible ici  
3.tutorialspoint.com. "Héritage Java." Le point, Disponible ici