標籤:
成員變數(全域變數)存放在堆裡面,佔用記憶體,初始化為0
局部變數 不佔用記憶體,存放在棧裡面,沒有初始值
關鍵字 :
public, private 關鍵字
許可權的意思 在一個類裡面,如果主函數不調用類裡面的東西,那麼用private把它私人化,保證封裝性,只留一個入口
static 靜態儲存變數
是除了建立對象以外的另外一種開闢空間的方式,它的生命週期與類的生命週期相同(最長)
this 關鍵字
是區分局部變數和全域變數的縮寫
class Person{ private String name = "zhou"; Person(String name){ this.name = name; } public void run(){ System.out.println(this.name); }}class test{ public static void main(String[] args) { Person people = new Person("tao"); people.run(); }}
就這段代碼,this的功能相當於p,使得直接作用於類
重載:函數名稱相同,後面的變數不同,JVM能分辨 比如 Person(int x) 和 Person()是不同的
建構函式:
函數名稱必須與類的名稱相同
作用:用於初始化,可以重載
除了建構函式還有一種初始化手段 就是代碼塊
{
}
代碼塊沒有名字,它的初始優先於建構函式,能把所有建構函式都統一初始化,把共性的初始化,減少記憶體的消耗
有一種特殊的代碼塊,靜態代碼塊,它的初始化只進行一次
主函數介紹
public static void main(String[] args)
public : 最高的許可權,能被任意地方調用
static: 開闢記憶體空間,靜態儲存變數
void :傳回值類型是空(注意與沒有傳回值區分開來)
main:main雖然不是關鍵字,但是JVM會識別main來作為入口
String 參數類型
args 形式參數(arguments參數 名稱可以改變) parameter實際參數
主函數與普通函數相同,就是是一個入口預設傳入的args length = 0;為空白
出現找不到或無法載入主類的原因
是因為類,java中的每一個類都是一個封裝,一編譯這個類的class執行檔案就會產生
假如我java檔案名稱為test,主函數名稱為demo,函數名稱為Peoloe
這樣一編譯,我們需要啟動並執行是demo主函數,而實際上點快了執行了test,所以說把這個區分開來,把主函數名稱改為和檔案名稱一樣方便
class test{ public static void main(String[] args) { System.out.print(args); }}
[Ljava.lang.String;@55e55f 列印出這個表示是字串類型 55e55f是地址的雜湊值
javadoc的製作
從零開始學JAVA DAY4