貝殼資訊
以上圖春哥和鳳姐為例,物件都有name和age兩個狀態,但是不同物件的name值和age的值是不一樣的,也就是說:不同物件的name和age是不一樣的。
person p1 = new person();也就是說name和age是屬於物件的,不同物件的name和age是不一樣的,但是在生活中有些東西不是屬於某乙個具體物件的,而是屬於整個事物的型別,比如:全世界人的總數,人的毀滅的行為,毀滅的行為,應該屬於人類,而不屬於某乙個人。p1.name = "春哥";
p1.age = 31;
person p2 = new person();
p2.name = "鳳姐";
p2.age = 30;
system.out.println(p1.name + "," + p2.name);
狀態和行為應該有物件和型別之分,有的狀態和行為應該屬於物件,不同的物件,狀態和行為可以不一樣,有的狀態和行為應該屬於型別,不屬於物件。
問題:現在如何表示人類毀滅這個行為(destory)。要解決該問題,得學習static修飾符。
晚上11點,班長在寫**,遇到乙個bug,班長解決問題後,睡覺去了。
晚上11點,班長漫不經心的在寫**,遇到乙個很簡單的bug,班長稀里糊塗解決問題後,滿不在乎地睡覺去了。
晚上11點,帥氣的班長認認真真的寫**,遇到乙個超難的bug,班長嘔心瀝血解決問題後,眉開眼笑地睡覺去了。
static修飾符表示靜態的,可修飾字段、方法、內部類,其修飾的成員屬於類,也就是說static修飾的資源屬於類級別,而不是物件級別。static的真正作用,用來區別字段,方法,內部類,初始化塊**塊是屬於物件還是屬於類本身。
static修飾的成員(字段/方法),隨著所在類的載入而載入;當jvm把位元組碼載入進jvm的時候,stctic修飾的成員已經在記憶體中存在了。
優先於物件的存在;物件是我們通過new關鍵字建立出來的。
static修飾的成員被該型別的所有物件所共享;根據該類建立出來的任何物件,都可以訪問static成員。表面上通過物件去訪問static成員,其本質依然使用類名訪問,和物件沒有任何關係。
因為static修飾的成員直接屬於類不屬於物件,所以可以直接使用類名訪問static成員。
Java物件導向 static
static 靜態的 屬於物件的屬性和方法是動態的,相反屬於類的就是靜態的。靜態的用途 修飾類的成員變數,稱為靜態變數,靜態變數是屬於類的變數,可以使用 類名.變數名 訪問,在類的內部可以省略類名。靜態變數只有乙份,可以被全體物件共享!軟體中只有乙份的資料應該使用static修飾。靜態變數在類載入期...
Java物件導向(三)Static
static本身是乙個修飾符,可以修飾變數 方法 塊 內部類。一 static修飾變數 靜態變數 static修飾 變數後這個變數稱之為靜態變數或類變數。靜態變數隨著類的加而載入到方法去中的靜態區,並且在靜態區中自動賦予初始值。由於靜態變數是先於物件存在的,所以靜態變數可以 有物件呼叫,也可由類名呼...
Java物件導向3 this 和static
this 在類方法定義中使用this關鍵字代表使用該方法的物件的引用。當必須指出當前使用方法的物件是誰時要使用this。有時使用this可以處理方法中成員變數和引數重名的情況。this可以看作是乙個變數,它的值是對當前物件的引用。public class leaf leaf increament v...