Heim >Java >JavaErste Schritte >Was ist der Unterschied zwischen diesem und Super in Java?

Was ist der Unterschied zwischen diesem und Super in Java?

王林
王林nach vorne
2020-08-03 16:55:444406Durchsuche

Was ist der Unterschied zwischen diesem und Super in Java?

Dies ist ein eigenständiges Objekt, das das Objekt selbst darstellt. Seine Verwendung ist grob in die folgenden drei Kategorien unterteilt:

(Empfohlenes Tutorial: Java Einführungs-Tutorial )

1. Gewöhnlicher direkter Verweis auf das aktuelle Objekt selbst

2. Formale Parameter und Mitgliedsnamen haben den gleichen Namen, verwenden Sie dies zur Unterscheidung

3. Der Referenzkonstruktor this(parameter) sollte die erste Anweisung im Konstruktor sein, die eine andere Form des Konstruktors in dieser Klasse aufruft.

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("旺旺");
   }
   }

Super kann so verstanden werden, dass es auf sein eigenes Super-(Eltern-)Klassenobjekt verweist. Diese Superklasse bezieht sich auf die übergeordnete Klasse, die ihr selbst am nächsten liegt. Es ist auch grob in drei Verwendungszwecke unterteilt:

(Video-Tutorial-Empfehlung: Java-Video-Tutorial )

1. Gewöhnliches direktes Zitat, ähnlich wie dieses, außer dass es so ist Ein übergeordnetes Klassenobjekt, über das übergeordnete Klassenmitglieder aufgerufen werden können.

2. Die Mitgliedsvariablen oder -methoden in der Unterklasse haben denselben Namen wie die Mitgliedsvariablen oder -methoden in der übergeordneten Klasse und können durch Super unterschieden werden.

3. Referenzkonstruktor, super (Parameter): Rufen Sie einen bestimmten Konstruktor in der übergeordneten Klasse auf (sollte die erste Anweisung im Konstruktor sein)

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

class teacher {
}

Der Unterschied in den Attributen: this Greifen Sie auf die Attribute zu in dieser Klasse Wenn diese Klasse dieses Attribut nicht hat, fahren Sie mit der Suche in der übergeordneten Klasse fort. super greift auf Eigenschaften in der übergeordneten Klasse zu.

Der Unterschied zwischen den Methoden: Dies greift auf die Methode in dieser Klasse zu. Wenn diese Klasse nicht über diese Methode verfügt, wird die Suche von der übergeordneten Klasse aus fortgesetzt. super greift auf Methoden in der übergeordneten Klasse zu.

Der Unterschied in der Konstruktion: Dies ruft die Konstruktion dieser Klasse auf und muss in der ersten Zeile der Konstruktionsmethode platziert werden. Super ruft den Konstruktor der übergeordneten Klasse auf und muss in der ersten Zeile der Konstruktormethode der Unterklasse platziert werden.

Andere Unterschiede: Dies stellt das aktuelle Objekt dar. super kann das aktuelle Objekt nicht darstellen.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen diesem und Super in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen