java this super使用方法详解
作者:
Java中this、super关键字的用法简单说明:super是Java语言的保留字,用来指向类的超类,本文将详细介绍,需要的朋友可以参考下
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() ;
}
}