[Ken原創]面向對象部分的總結

Java也學一陣子了,最近正做項目才發現還是基礎方面欠缺點,這幾天集中給自己補了一堂課,通過簡短整理方式想鞏固一下子,給自己看,同時給別人看。

雖然不是什麼稀奇的文章,不過也相信也有很多需要此方面知識的朋友們此文章允許轉載,請註明轉載信息,謝謝!

Author: Kim
[url]http://gimgen1026.iteye.com/[/url]
內存分析貫穿始終。每一個程序拿出來,這個內存裏面到底怎麼運行的,必須弄得清清楚楚的,所以複習的時候自己把每個程序拿出來自己想一想這個在內存裏怎麼執行,必須得想明白。

對象和類的概念:什麼叫對象,什麼叫類?
類是具有同一類事務的一個抽象。同一類,同樣特徵的的一個抽象。
對象是一類事務的一個特殊的實例。

類(對象)之間的關係:咱們講了好多種,關聯、繼承、聚合,聚合裏頭還分兩種聚集、組合。此外還有多態、實現。

面向對象的設計思想:認識到多態之後意識到了的它和麪向過程確實不太一樣。面上對象設計思想上來之後考慮的是這個問題域裏頭有哪些對象或者說那些類,類理有哪些屬性和方法,類和類之間是什麼關係,有沒有繼承的關係,有沒有多態的關係,ok,這就是面向對象的設計思想。

class關鍵字:在Java裏面使用class來定義一個類。

new關鍵字:new的時候new出了一個的新對象,然後呢遷出了一個引用的概念。引用是什麼?腦子裏立刻浮現同一小塊內存指向一大塊內存。
new一般和構造方法一起使用。構造方法指的是當這個類new一個新對象的時候調用的方法,這方法比較特殊,和類同名,沒有返回值,void都不能寫。

方法重載:同時構造方法也可以重載。那麼,什麼叫方法重載,方法名字一樣,但是參數之間有區別,參數之間的區別在於類型不一樣,或者是參數的個數不一樣。

this關鍵字:this指的是當前對象,你現在調用哪個方法,這個this指的就是誰,那麼內存裏面什麼情況呢,new出一個對象來,它裏面有自己的引用指向自身。

static:static的成員變量它是屬於所有類的,static的成員變量一般分配在Data區域裏面,這個類的所有對象屬於整個類,你不需要new這個對象就可以訪問它。非static的,你必須得new一個對象才能訪問它,static不需要,所以我們用類名加上點,即ClassName.***就能訪問它裏面的值,或者是來訪問它的方法。

訪問控制:3個關鍵字private (default) protected publicprivate修飾了成員變量是私有的,只有自己能訪問它,出了類沒有人能夠訪問它。
default一個包內的其他類可以訪問它。
protected它的子類可以訪問它。
public 所有類都能訪問。
在這裏default和public還可以修飾class,即public class的話所有的類都能訪問它。default類是同一個包裏面的其他類可以訪問它。
還有一點,這3個關鍵字以及default都能修飾內部類。

extends 即繼承:它的意思就是《某某是一種某某》,即《某某instanceof某某》,只要說通這句話就OK。
從一個類繼承到另一個類的時候,相當於你擁有了那個類的所有的成員變量和所有的成員方法,包括private的,可是很不幸,這個private的成員變量你繼承下來以後你擁有了所有權,sorry! 你沒有使用權,即你只能看不能用。

overwrite(override)即方法的重寫:父類裏面實現了某方法,如果你很不滿意,很簡單,重寫它。

final:final的變量不能夠改變它的值。
final的方法不能被重寫。
final的class不能被繼承。

Object:Java的所有的老祖宗類,根基類。
典型的有toString方法:說白了就是一個字符串上的表現,你可以重寫它,也可以寫字符串來表現。
equals方法:定義了這個類的兩個對象之間怎麼樣算相等,這樣的語義。

upcasting(向上轉型)&downcasting(向下轉型):父類的引用指向子類對象,或者接口的引用指向實現接口的類的對象,叫向上轉型,反之向下轉型。

ploymophysm(多態)/ dynamic binding(動態綁定)/ late binding(時綁定):多態的存在有三個必要條件,要有繼承、要有重寫、父類引用指向子類對象。
腦子裏立刻浮現出內存來,我們找那個方法的時候你實際當中new的是哪個類,我就找哪個類的對象的那個方法,這叫動態綁定。

abstract class(抽象類):含有抽象方法的類就是抽象類。抽象類只有方法定義,沒有實現。

interface(接口):它是一種特殊的抽象類,這裏面所有的方法都是抽象方法,並且都是public的。所有的成員變量都是public static final的。
接口和接口之間互相可以繼承,類和類之間互相可以繼承。類和接口之間只能實現,關鍵字implements。
一個類可以實現多個接口,多個類可以實現一個接口。
接口的本質,內存裏面想一想,它其實就能看見這個對象的其中一部分方法,這就是一個接口。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章