面向對象的一個特徵: 需要一系列完整的設計,同時取出所要用到的所有工具.
封裝:
就是把內部的東西保護起來,不被外界所看到.
繼承:
就是用於類的擴展
多態:
面嚮對象語言中最重要的.
類與對象中:
共性的稱爲類;
個性的稱爲對象.
必須先有人, 再有具體的人
(共性) ---> (個性)
人由什麼組成? --> 程序
那程序又是由什麼組成的呢?
特定的標識 ---------> 即 屬性
一系列固定的方法 ---------------> 即 方法
其實 這裏來看, 類與對象設計中 孰重孰輕 重點就在 當然就是類了!!!!!!!!!! 重點就是在累的設計上了
再說一個弱智點的問題:
是先有類的還是先有對象的, 當然是先有類了.........
總結如下了:
類是對象的一個模板, 而對象而是類的一個具體實現.
對象被創建之後, java 會自動爲對象中的屬性賦值, 如果是引用類型的話呢? 那就是賦值爲null, 如果是基本類型的話呢?( 比如 int 類型 ,) 那就是 0 .
對象的產生式分兩步進行的:
聲明瞭一個對象, (棧內存中就開闢了一個內存空間)
Person person = null ;
實例化了一個對象, (對內存中就開闢了一個內存空間)
person = new Person();
new Person() 開闢了堆內存空間 , 使用權也隨即給了 person .
如果我們只是 聲明瞭一個對象, 即在棧內存空間中聲明瞭這樣一個對象, Person person = null ;
而沒有去實例化這個對象的話, 也就是沒有在堆內存中創建該內存空間, 在下面 , 該對象被使用的時候 就會報出一個 空指向異常 (NullPointerException) , 這就是因爲對象沒有被分配堆內存空間的後果