Maison > Java > Javacommencer > Quelle est la différence entre this et super en Java ?

Quelle est la différence entre this et super en Java ?

王林
Libérer: 2020-08-03 16:55:44
avant
4402 Les gens l'ont consulté

Quelle est la différence entre this et super en Java ?

il s'agit d'un objet à part entière, représentant l'objet lui-même. Son utilisation est grossièrement divisée en trois catégories suivantes :

(Tutoriel recommandé : Java. tutoriel d'introduction )

1. Référence directe ordinaire à l'objet actuel lui-même

2. Les paramètres formels et les noms de membres ont le même nom, utilisez-le pour distinguer

. 3. Le constructeur de référence, this(parameter ) , doit être la première instruction du constructeur, appelant une autre forme de constructeur dans cette classe.

public class Demo{
     String name;
 
    public void setName(String name) {
       this.name = name;// 前一个name是 本类的成员属性: name;       
                       //  后一个name是setName中的参数。
    }
   public static void main(String[]args){
          
           Demo m=new Demo();
           m.setName("旺旺");
   }
   }
Copier après la connexion

Super peut être compris comme pointant vers son propre objet de classe super (parent). Cette super classe fait référence à la classe parent la plus proche d'elle-même. Il est également grossièrement divisé en 3 utilisations :

(Recommandation du didacticiel vidéo : tutoriel vidéo Java )

1. Citation directe ordinaire, similaire à celle-ci, sauf que c'est le cas. Un objet de classe parent via lequel les membres de la classe parent peuvent être appelés.

2. Les variables ou méthodes membres de la sous-classe ont le même nom que les variables ou méthodes membres de la classe parent et peuvent être distinguées par super.

3. Constructeur de référence, super (paramètre) : Appelez un certain constructeur dans la classe parent (devrait être la première instruction du constructeur)

public class Main extends teacher{
	public static void main(String[] args) {
		//super();
	}
	public Main(){
		this();
		super();//出错,this()与super()不能同时出现,且this(),super()都必须在第一行
	}
}

class teacher {
}
Copier après la connexion

La différence dans les attributs : ceci Accéder aux attributs dans cette classe. Si cette classe ne possède pas cet attribut, poursuivez la recherche à partir de la classe parent. super accède aux propriétés de la classe parent.

La différence entre les méthodes : cela accède à la méthode dans cette classe. Si cette classe n'a pas cette méthode, elle continuera à rechercher à partir de la classe parent. super accède aux méthodes de la classe parent.

La différence entre les constructions : ceci appelle la construction de cette classe et doit être placé en première ligne de la méthode de construction. super appelle le constructeur de la classe parent et doit être placé sur la première ligne de la méthode constructeur de sous-classe.

Autres différences : ceci représente l'objet actuel. super ne peut pas représenter l'objet actuel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal