1. 程式人生 > >類及對象

類及對象

類的設計 getname 作用 ati get null public 內存劃分 ole

1.關於於類的設計

2.類的組成成分:
1) 屬性(成員變量,Field)
2)方法(成員方法,函數,Method)

2.1屬性:
* 成員變量 vs 局部變量
* 相同點:1.遵循變量聲明的格式: 數據類型 變量名 = 初始化值
* 2.都有作用域
* 不同點:1.聲明的位置的不同 :成員變量:聲明在類裏,方法外
* 局部變量:聲明在方法內,方法的形參部分,代碼塊內
* 2.成員變量的修飾符有四個:public private protected 缺省
* 局部變量沒有修飾符,與所在的方法修飾符相同。


* 3.初始化值:一定會有初始化值。
* 成員變量:如果在聲明的時候,不顯式的賦值,那麽不同數據類型會有不同的默認初始化值。
* byte short int long ==>0
* float double ==>0.0
* char ==>空格
* boolean ==>false
* 引用類型變量==>null
* 局部變量:一定要顯式的賦值。(局部變量沒有默認初始化值)
* 4.二者在內存中存放的位置不同:成員變量存在於堆空間中;局部變量:棧空間中

*
* 總結:關於變量的分類:1)按照數據類型的不同:基本數據類型(8種) & 引用數據類型
* 2)按照聲明的位置的不同:成員變量 & 局部變量

2.2 方法:提供某種功能的實現
* 1)實例:public void eat(){//方法體}
* public String getName(){}
* public void setName(String n){}
* 格式:權限修飾符 返回值類型(void:無返回值/具體的返回值) 方法名(形參){}
*
* 2)關於返回值類型:void:表明此方法不需要返回值


* 有返回值的方法:在方法的最後一定有return + 返回值類型對應的變量
* 記憶:void 與return不可以同時出現一個方法內。像一對“冤家”。
*
* 3)方法內可以調用本類的其他方法或屬性,但是不能在方法內再定義方法!


3.面向對象編程的思想的落地法則一:
1)設計並創建類及類的成分
2)實例化類的對象
3)通過“對象.屬性”或"對象.方法"的形式完成某項功能

4.類的初始化的內存解析
4.1 內存劃分的結構:
棧(stack):局部變量 、對象的引用名、數組的引用名
堆(heap):new 出來的“東西”(如:對象的實體,數組的實體),含成員變量
方法區:含字符串常量
靜態域:聲明為static的變量

4.2 理解的基礎上,學會基本的創建的類的對象在內存中的運行。

類及對象