super 與 this 關鍵字
阿新 • • 發佈:2021-06-16
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