static(靜態)關鍵字
封裝作用:物件的初始化
//dog1類檔案
public class dog1
//方法
public void show()
}
//dog1測試檔案
public class dog1test
}
結果為:
在無參構造方法中,賦值了name為小黃,但是在測試檔案中的物件又對name賦值了小黑。
注:類的載入順序:靜態**塊》構造器》成員變數賦值
宣告變數值的優先順序:建立物件後賦值》構造器賦值》成員變數賦值
語法:
訪問修飾符 構造方法(引數列表)
例項:
//dog1類檔案
public class dog1
public void show()
}
//dog1類測試檔案
public class dog1test
}
使用static定義變數,可以直接通過類名訪問變數
使用static定義屬性:
有上面帶參構造的**可知,static定義了health在測試檔案中就可以用類名直接呼叫。
如:dog1.health=100;
final表示固態,就是不可改變。如love就改不了30.
//dog檔案源**
public class dog
}
//dog測試檔案的源**
public class dogtest
}
在static的方法中必須使用靜態變數;在靜態方法中想使用其他類的非靜態方法,需要建立物件,使用物件名呼叫;如dog.name=「小黑」;
在靜態方法中使用其他靜態方法,如果是同乙個類檔案,直接呼叫,如果是不同類檔案,使用類名呼叫
靜態**塊:隨著類的載入而載入,優先於物件建立
static
如上就是乙個靜態**塊;
為什麼使用封裝:
將類的某些資訊隱藏在類內部
以防止物件屬性被任意訪問,不合理的賦值
封裝的概念:
封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問。
封裝的步驟:
修改屬性的可見性,設為private
建立共有的getter/setter方法,用於屬性的讀寫
在getter/setter方法中加入屬性控制語句,對屬性值的合法性進行判斷
例項://person檔案中的原始檔
//封裝
import sun.management.resources.agent;
public class person
//age入口
public void setage(int age)else }}
//person的測試檔案
public class persontest
}
結果為:
若測試檔案最後兩行為:
per.setage(120);
system.out.println("年齡為:"+per.getage());
結果就為:
從上圖可知age被封裝了在測試檔案中不能使用物件修改,只能使用getter和setter方法呼叫。
this關鍵字 static關鍵字
1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...
構造方法 this關鍵字
一 什麼是類 類就是使用者自己定義的一種資料型別 二 什麼是物件 物件就是類的例項化 三 構造方法有哪些特點 對物件進行初始化 可以有不同的引數 1,構造方法的名字一定和類名相同 2,構造方法中不存在返回值 3,構造方法在建立物件時 例項化物件時被呼叫 四 方法有什麼特點 實現乙個物件的方法 相當於...
構造方法 this關鍵字
類中的特殊方法,主要用於建立物件 特點 名稱與類名完全相同 沒有返回值型別 建立物件時,觸發構造方法的呼叫,不可通過.手動呼叫 public class test 1 class 物件名 例子 有參 public 物件名 形參string name,string numb,int age 注意 如果...