super是Java語言的保留字,用來指向類別的超類別.
假設在Teacher類別中定義了一個類別變數boolean gender;
在子類別的方法中gender就應該是指子類別的gender變數,如果要引用超類別的gender變數的話就必須使用super.genderthis物件在類別的建構方法中,要給物件的域進行初始化,這時若參數與類別變數同名,則類別變數的名字將會被參數名稱屏蔽,
必須知道目前的物件名稱,才能用物件名稱來引用物件的域
複製代碼代碼如下:
public DotLoc(double XX,double YY,double ZZ)
{
X=XX;Y=YY;Z=ZZ;
}
如果參數與類別變數名稱同名
複製代碼代碼如下:
public DotLoc(double X,double Y,double Z)
{
this.X=X;this.Y=Y;this.Z=Z;
}
又如:
在Java類別中使用super來引用基底類別的成分。
實例:
TestInherit.java:
複製代碼代碼如下:
import java.io.* ;
class FatherClass {
public int value ;
public void f() {
value = 100 ;
System.out.println("FatherClass.value=" + value) ;
}
}
class ChildClass extends FatherClass {
public int value ;
public void f() {
super.f() ;
value = 200 ;
System.out.println("ChildClass.value=" + value) ;
System.out.println(value) ;
System.out.println(super.value) ;
}
}
public class TestInherit {
public static void main(String args[]) {
ChildClass cc = new ChildClass() ;
cc.f() ;
}
}