1. 程式人生 > 其它 >super 與 this 關鍵字

super 與 this 關鍵字

super與this用法相似:

1.普通的直接引用

2.形參與成員名字重名,用 this 來指代類本身,super指代父類

public class Students extends Person {
    String name;
    public void setName(String name) {
        this.name = name;
    }
    public void setFName(String name) {
        super.name = name;//父類名字
    }
}

3.在構造器中使用

  • super(引數):呼叫父類中的某一個建構函式(應該為建構函式中的第一條語句)。
  • this(引數):呼叫本類中另一種形式的建構函式(應該為建構函式中的第一條語句)。
package day06_oop.test2;

class t {
    public static void prt(String s) {
        System.out.println(s);
    }

    t() {
        prt("父類無參");
    }//構造方法(1) 

    t(String name) {
        prt("父類含參" + name);
    }//構造方法(2) 
}

class Chinese extends t {
    Chinese() {
        
super(); // 呼叫父類構造方法(1) prt("子類無參"); } Chinese(String name) { super(name);// 呼叫父類具有相同形參的構造方法(2) prt("子類含參" + name); } Chinese(String name, int age) { this(name);// 呼叫具有相同形參的構造方法(3) prt("子類:呼叫子類具有相同形參的構造方法:his age is " + age); } public static
void main(String[] args) { Chinese cn = new Chinese("引數二", 18); } }

結果:

父類含參引數二
子類含參引數二
子類:呼叫子類具有相同形參的構造方法:his age is 18