本帖最后由 黑马刘涛 于 2012-7-15 17:31 编辑
class Fu
{
int num=4;
}
class Zi extends Fu
{
void show()
{
System.out.println(this.num); //this表示本类对象的引用,this.num就是继承自父类的num
//System.out.println(super.num);// super表示父类对象的应用,super.num就是父类的num
}
}
super关键字表示超(父)类的意思。this变量代表对象本身,可以使用super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。- <FONT size=1>class Person {
- protected void print() {
- System.out.println("The print() in class Person.");
- }
- }
- public class DemoSuper extends Person {
- public void print() {
- System.out.println("The print() in class DemoSuper.");
- super.print();// 调用父类的方法
- }
- public static void main(String[] args) {
- DemoSuper ds = new DemoSuper();
- ds.print();
- }
- </FONT><STRONG>}</STRONG>
复制代码
当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。见示例2。- <FONT size=1>public class DemoThis {
- private String name;
- public void setName(String name) {
- this.name = name;// 前一个name是private name;后一个name是setName中的参数。
- }
- }</FONT>
复制代码
|