JAVA_SE基礎知識——抽象與封裝

1、面向對象設計和開發的好處:

交流更加流暢、提高設計和開發效率

2、用面向對象的思想描述世界

1、發現類
2、發現類的屬性
3、發現類的方法

3、構造方法

初始化對象 1、屬性2、方法
構造方法無返回值類型

無參的構造方法:
    訪問修飾符 方法名(與類名一致)(){   }---可以在創建對象的同時初始化
有參數的構造方法:
	訪問修飾符 方法名(指定參數){  } 

系統提供默認無參構造方法。自定義了有參構造方法後,系統默認的無參構造方法自動消失

快捷鍵---Alt+shift+s (eclipse)Alt + insert(IDEA)(筆者的筆記本是Alt+0(數字鍵盤))

作用:構造函數的最大作用就是創建對象時完成初始化,當我們在new一個對象並傳入參數的時候,會自動調用構造函數並完成參數的初始化。

4、this 關鍵字

指當前的類  本類
調用屬性  this.health=100;   this.name="二哈";
調用方法  this.print();
調用構造方法  this();  this("二哈",100,100);  	
	
如果構造方法調用this,必須在第一條語句 

5、方法的重載

方法名相同、參數項不相同、與返回值和訪問修飾符無關

6、static—類屬性、類變量

修飾屬性---可以通過類名直接訪問,而不需要new一個對象    類名.屬性名
修飾方法---可以直接訪問    類名.方法名();	
靜態的初始化塊---static{ 邏輯語句 }---初始化對象之前優於構造方法優先執行的代碼塊
	執行順序:靜態代碼塊-->構造代碼塊-->構造方法
		靜態代碼塊只執行一次,構造代碼塊和構造方法每次new都執行

static---類屬性、類變量;類方法;調用方式 類名.屬性  類名.方法();歸屬於類
非static---實例屬性、實例變量;實例方法;調用方式  對象.屬性  對象.方法();歸屬於單個對象

方法裏不能定義static變量

7、封裝

概念:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法
	來實現對隱藏信息的操作和訪問

封裝的步驟:
        1、修改封裝的可見性  設爲private
		2、創建公有的getter/setter方法   用於屬性的讀寫
		3、在getter/setter方法中加入屬性控制語句  對屬性值得合法性進行判斷

爲什麼封裝?
        屬性可以隨意訪問,不合理的賦值,數據不安全

8、static變量在內存中的位置

    static變量存放在方法區中(方法區又叫靜態區,跟堆一樣,被所有線程共享,方法區中包含所有
的class變量和static變量),不管創建多少個實例,靜態成員變量都會共享同一內存空間。
	靜態成員變量在類被加載時會執行一次初始化,只要類加載就會初始化。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章