当前位置: 编程技术>java/j2ee
java this super使用方法详解
来源: 互联网 发布时间:2014-10-22
本文导语: super是Java语言的保留字,用来指向类的超类. 假设在Teacher类中定义了一个类变量boolean gender; 在子类的方法中gender就应该是指子类的gender变量,如果要引用超类的gender变量的话就必须使用 super.genderthis对象在类的构造方法中,要给对...
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() ;
}
}
假设在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() ;
}
}