天天看點

Java學習【階段一[04]】繼承與多态(02this關鍵字)一、this關鍵字用法二、this關鍵字和super關鍵字圖解

一、this關鍵字用法

super關鍵字用來通路父類内容,而this關鍵字用來通路本類内容,用法也有三種

1、在本類的成員方法中通路本類的成員變量

2、在本類的成員方法中通路本類的另一個成員方法

3、在本類的構造方法中,通路本類的另一個構造方法

4、super和this兩種構造調用不能同時使用

package Day09;
/*
super關鍵字用來通路父類内容,而this關鍵字用來通路本類内容,用法也有三種
1、在本類的成員方法中通路本類的成員變量
2、在本類的成員方法中通路本類的另一個成員方法
3、在本類的構造方法中,通路本類的另一個構造方法
4、super和this兩種構造調用不能同時使用
 */
public class Zi3 extends Fu3 {
	
	int num=20;
	
	public Zi3() {
		//super.();//這一行不再贈送
	this(123);//本類的無參構造調用本類的有參構造
	}
	public Zi3(int n) {
		
	}
	public void showNum() {
		int num=10;
		System.out.println(num);
		System.out.println(this.num);//調用本類的成員變量
		
	}
	
	public void methodA() {
		System.out.println("AAA");
	}
	public void methodB() {
		this.methodA();//調用本類的成員方法
		System.out.println("BBB");
	}
	

}
           

二、this關鍵字和super關鍵字圖解

代碼示例:

父類:

package Day09;

public class Fu4 {
	int num=10;
	public void method() {
		System.out.println("父類方法");
	}

}
           

子類:

package Day09;

public class Zi4 extends Fu4 {
	
	int num=20;
	
	@Override
	public void method() {
		super.method();//調用了父類方法
		System.out.println("子類方法");
	}
	
	public void show() {
		int num=30;
		System.out.println(num);//30
		System.out.println(this.num);//20
		System.out.println(super.num);//10
	}

}
           
package Day09;

public class Demo {
	public static void main(String[] args) {
		Zi4 zi=new Zi4();
		
		zi.show(); 
		zi.method();
	}

}
/*30
20
10
父類方法
子類方法
*/
           
Java學習【階段一[04]】繼承與多态(02this關鍵字)一、this關鍵字用法二、this關鍵字和super關鍵字圖解

繼續閱讀