this 註意 public class ThisDemo { public static void main(String[] args) { } } class Person{ public String name; public int age; public boolean gender; ...
this
- this關鍵字 :代表當前對象
- this在構造器的首行調用其他構造器(本類中的其他構造器)
- this使用在構造器中,指代當前創建的對象
- this使用在成員方法中,this指代當前調用成員方法的對象
註意
- 調用構造器的時候this必須存在第一行才行
- 構造器之間不能相互調用
- this不能使用在static修飾的內容中
public class ThisDemo {
public static void main(String[] args) {
}
}
class Person{
public String name;
public int age;
public boolean gender; //true->女 false->男
public Person() {
}
public Person(String name) {
this.name=name;
}
//給人的姓名,年齡賦值
public Person(String name,int age) {
this.name=name;
this.age=age;
System.out.println("2個參數的構造器");
}
public Person(String name,int age,boolean gender) {
//上一個構造器就是給name,age賦值的
//選中當前行上下移動->alt+方向上下鍵
//調用其他構造器,本類 如果實參位置是變數,傳遞的就是變數的值
this(name,age);
this.gender=gender;
System.out.println("三個參數的構造器");
}
static
static關鍵字 靜態的 成員修飾符
類變數|靜態變數: static修飾變數,只能修飾成員變數,不能修飾局部變數
* 類 方法|靜態方法: static修飾的方法
* 靜態的內容的使用方式:
- 類名.方法名([參數列表]);
- 類名.屬性名;
- 對象.方法名字([參數列表]);
- 對象.屬性名;
註意事項
* 被static修飾的靜態的內容是屬於類的,可以通過類使用的,可以通過對象去使用
* 成員的內容是屬於對象的,成員變數,成員方法只能通過對象調用
* 靜態的內容中只能直接使用靜態的內容,成員內容需要通過對象使用
* 非靜態的內容中,可以直接使用靜態的,可以直接使用非靜態的內容
* 只在類第一次載入的時候初始化一次,靜態的內容是獨一份的,所有的對象共用一個類中的靜態內容
block(塊):{}->作用域
* {}定義在方法中->局部代碼塊|普通語句塊 執行時機:調用方法
* {}定義在類中方法外->構造塊 執行時機:new
* static{}定義在類中方法外->靜態塊 執行時機:在類第一次載入以後執行一次
* 構造塊先於構造器的代碼執行,如果存在多個構造塊,從上到下以此執行
* 靜態塊先於主方法執行,如果存在多個靜態塊,從上到下依次執行
執行順序為:
* static->main->構造塊->構造器 註意:執行順序與寫出的代碼順序無關!!!