首页 > 代码库 > Java中的this操作方法与字段

Java中的this操作方法与字段

public class Parent {

	public void init() {
		System.out.println("1 init parent");
		this.demo();
	}
	
	public void demo() {
		System.out.println("2 demo parent");
	}

}


public class Son extends Parent {
	
	public void init(){
		super.init();
		System.out.println("3 init son");
		this.demo();
	}
	
	public void demo() {
		System.out.println("4 demo Son");
	}
	
	public static void main(String[] args) {
		//当前运行类 Son
		Son son = new Son();
		son.init();  //init(son)
		
	}

}

输出结果是:

1 init parent
4 demo son
3 init son
<pre name="code" class="java">4 demo son


操作方法时,this是指当前运行类,在这里就是指son;



第二个例子:

public class Parent {
	
	public String name="tom";

	public void init() {
		System.out.println(this.name);
	}
	
}

public class Son extends Parent {
	
	public String name="jack";
	
	public void init(){
		super.init();
		System.out.println(this.name);
	}
	
	public static void main(String[] args) {
		//当前运行类 Son
		Son son = new Son();
		son.init();  //init(son)
		System.out.println("## " + son.name);
		
		Parent p = new Son();
		System.out.println("** " + p.name);
		
	}

}


输出结果是:
tom
jack
## jack
** tom

操作字段时,是不能像方法一样覆盖的,this是谁的就是谁的。


Java中的this操作方法与字段