Java中this和super的用法总结
this
this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this的用法在java中大体可以分为3种:
1.普通的直接引用
this相当于是指向当前对象本身。
2.形参与成员名字重名,用this来区分
3.引用构造函数
这个和super放在一起讲,见下面。
super
super可以理解为是指向自己父类对象的一个指针,而这个父类指的是离自己最近的一个父类。
super也有三种用法:
1.普通的直接引用
与this类似,super相当于是指向当前对象的父类,这样就可以用super.xxx来引用父类的成员。
2.子类中的成员变量或方法与父类中的成员变量或方法同名
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | classCountry {    String name;    voidvalue() {       name = "China";    }} classCity extendsCountry {    String name;    voidvalue() {    name = "Shanghai";    super.value();      //调用父类的方法    System.out.println(name);    System.out.println(super.name);    }     publicstaticvoidmain(String[] args) {       City c=newCity();       c.value();       }} | 
运行结果:
Shanghai
China
可以看到,这里既调用了父类的方法,也调用了父类的变量。若不调用父类方法value(),只调用父类变量name的话,则父类name值为默认值null。
3.引用构造函数
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号