特点:就近原则
先从本类开始,然后从局部变量开始,再从父类开始,逐级往上走
话不多说看代码
package www.jsu.com;
class fu{
String name="fu";
}
class zi extends fu{
String name="zi";
public void show(){
String name="this";
System.out.println(name);
}
}
public class Test {
public static void main(String[] args) {
zi z=new zi();
z.show();
}
}
输出的结果是:this
显而易见,它实现调用的是show里面的局部变量,而没有往上找,体现了就近原则。
那当我们想找上级的进行输出时,该如何进行引用呢?因此我们需要this和super。看以下代码显而易见package www.jsu.com; class fu{ String name="fu"; } class zi extends fu{ String name="zi"; public void show(){ String name="this"; System.out.println(name); System.out.println(this.name); System.out.println(super.name); } } public class Test { public static void main(String[] args) { zi z=new zi(); z.show(); } } //输出: //this zi fu