this、static、instanceof關鍵字

這次我們來看一下this、static、instanceof這三個關鍵字。

this關鍵字

1.通過 this 關鍵字可以明確地去訪問一個類的成員變量,對成員變量進行初始化,解決與局部變量名稱衝突問題。

class Person {
	int age;
	public Person(int age) {
		this.age = age;
	}

	public int getAge() {
		return this.age;
	}
}

2.通過 this 關鍵字調用成員方法,當前引用調用類中的相應方法。

class Person {
	public void openMouth() {
			//實現過程
	}
	public void speak() {
		this.openMouth();  // 此處this可以省略
	}
}

3.通過 this 調用構造方法

①.只能在構造方法中,使用 this 關鍵字調用構造方法,不能在成員方法中使用,並且該語句必須位於第一行,且只能出現一次。

class Person {
	public Person() {
		System.out.println("無參的構造方法被調用了...");
	}
	public Person(String name) {
		this();	// 調用無參的構造方法,必須位於第一行,且只能出現一次
		System.out.println("有參的構造方法被調用了...");
	}
}

②.不能在一個類中的兩個構造方法中使用 this 互相調用。

Class Person{
	public Person(){
		this("小芳");	// 調用有參的構造方法
		System.out.println("無參的構造方法被調用了...");
	}
	public Person(String name) {
		this();	// 調用無參的構造方法
		System.out.println("有參的構造方法被調用了...");
	}
}

 

static關鍵字

被static關鍵字修飾的方法一般被稱爲靜態方法,沒有被static關鍵字修飾的方法一般稱爲非靜態方法。

被static關鍵字修飾的成員變量叫靜態的成員變量,沒有被static修飾的成員變量叫非靜態成員變量。

靜態方法  只能訪問靜態的成員變量,無需創建對象,使用類名就可以直接調用。但是不能訪問非靜態成員變量。

靜態成員變量  也是無需創建對象,可以通過類名進行訪問。

非靜態方法  既能訪問靜態的成員變量,也能訪問非靜態的成員變量,只能通過創建對象的方式進行調用。

靜態方法和靜態成員變量被整個程序共用,相當於共享,所以被static修飾的內容,在代碼程序中會按照順序進行加載, 如果主函數在下面,那麼會優先加載靜態成員變量和靜態成員方法。還有就是被static修飾的關鍵字,都會優先加載。

還有一個就是靜態代碼塊,其在程序中只執行一次,被static關鍵字所修飾的內容是按照代碼的順序來進行調用的。

格式:

static{

   代碼

}

 

instanceof 關鍵字

用於判斷對象是否屬於後面的類型,如果屬於則返回true,如果不屬於則返回false。格式如下:

if (a instanceof Cat) {
    System.out.println(true);
}else{
    System.out.println(false);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章