復習:
聲明 數(shù)組: 數(shù)據(jù)類型 [] 變量 = new 數(shù)據(jù)類型 [length]?? 可以換行寫
數(shù)據(jù)類型 變量[]={value,value,......... };?? 只能這樣寫一行? 不能分行寫籽慢。
變量[index]
數(shù)組的屬性: length;??? 數(shù)組是比較特殊的對象刁绒, 只有一個屬性就是length ;
數(shù)組的數(shù)組:
?? 數(shù)據(jù)類型[] [] []? 變量 台腥;
類和對象:
面向對象:? encapsulation, inheritance,polymorphism
opp? 面向對象叮贩;
元數(shù)據(jù): 不能再分割的一個整體几于,
定義一個類:
public class Student
{
String? name;
int age;
String gedenr ;
String name ;
}
只有在實例化的時候 才是真正創(chuàng)建 分配了內存。
}
成員變量 的數(shù)據(jù)類型 怎么確定:根據(jù)生活中的實際情況表示筹陵;
修飾符:
?? 訪問修飾符: public?? protected?? default? priavte
??? 其他 : static??? fianl?? abstract?
? 上面和下面的 可以互相結合 诲宇,但是單純的不一定可以相互結合。
? return_type (返回值類型) : 位置不能隨便更改惶翻,位置是規(guī)定的姑蓝。
?void :??? 不需要return ; 調用這個方法的時候,沒有返回值吕粗,不能有變量接收纺荧。
任意的數(shù)據(jù)類型: 必須return 數(shù)據(jù)類型;? 可以有變量接收的颅筋;
數(shù)據(jù)封裝? 隱藏:??? 成員變量 都加上 修飾符 private ;?? 就不能再 對象.屬性宙暇;
this? 調用的是當前對象;
成員變量 叫做: 屬性 field?
方法 稱為: property
靜態(tài)塊议泵,靜態(tài)塊的特點是在類加載的時候就執(zhí)行占贫,先說一下類加載,一個程序要想運行先口,首先要把代碼加載到內存中對吧型奥?然后才能去和CPU交流,這是馮諾依曼計算機規(guī)定的碉京。Java也是一樣厢汹,Java的.class字節(jié)碼文件要想執(zhí)行,首先也要加載到內存谐宙,由類加載器把字節(jié)碼文件的代碼加載到內存中烫葬,這一步就叫類加載,這是首先要進行的
創(chuàng)建對象的時候? :??? ( 類加載 )? 分配內存?????? 默認初始化???? 顯示初始化 ???? 調用構造器 ,引用返回
當創(chuàng)建Test類的一個對象的時候搭综,比如new Test()
,是這樣垢箕,首先是類加載,然后才能new對象兑巾,靜態(tài)塊在類加載的時候就執(zhí)行了舰讹,這就說明靜態(tài)塊在new對象之前就會執(zhí)行既们,而且一個類在第一次被使用的時候會被加載以躯,然后在整個應用程序的生命周期當中不會再次被加載了,就加載這一次脓鹃,所以這就說明奋姿,靜態(tài)塊就執(zhí)行一次锄开,不會執(zhí)行第二遍!
第二次 new 對象的時候称诗, 是不會在進行類加載萍悴;