面向?qū)ο?/h1>

面線對象三個基本特征:繼承教沾,封裝蒲跨,多態(tài)。

繼承:子類繼承父類授翻,子類獲得父類的屬性和方法或悲。

封裝:將客觀事物封裝成抽象的類,并且只能讓特定的對象操作堪唐。

多態(tài):一個類實例的相同方法在不同情形有不同的表現(xiàn)形式巡语。


多態(tài)的兩種實現(xiàn)方式:重載和重寫。

重載(Overload):是一個類中多態(tài)性的一種表現(xiàn)羔杨,方法名必需相同,參數(shù)列表必需不同.(長度不同或類型不同),與返回值類型沒有關(guān)系.構(gòu)造器也可以重載.方法名和類名相同捌臊,參數(shù)不同. Overloaded的方法是可以改變返回值的類型。

重寫(Override):是父類與子類之間多態(tài)性的一種表現(xiàn)兜材。如果在子類中定義某方法與其父類有相同的名稱和參數(shù)理澎,我們說該方法被重寫逞力。


抽象和接口

抽象和抽象方法:abstract

1.抽象類和抽象方法都是通過abstract關(guān)鍵字修飾。

2.抽象類不能實例化糠爬。抽象類中可以沒有寇荧、有一個或者多個抽象方法,甚至全部方法都可以是抽象方法执隧。

3.抽象方法只有方法聲明揩抡,沒用方法實現(xiàn)。有抽象方法的類必須聲明為抽象類镀琉。子類必須重寫所有的抽象方法才能實例化峦嗤,否則子類還是一個抽象類。

接口:interface定義了一套標準(方法)屋摔,這些方法通常都是沒有實現(xiàn)的烁设,類可以來實現(xiàn)這些方法來支持(implements)這個標準

特點:

1.接口不能被實例化

2.一個類只能有一個父類,但是可以實現(xiàn)多個接口

3.接口不能有實例變量钓试,但是可以有static final變量

4.接口的方法都是抽象方法 - 靜態(tài)(public static)和default方法除外

5.接口可以沒有任何方法

6.接口可以有屬性装黑,但屬性默認是public static和final

接口和抽象的區(qū)別:

1.接口只能做方法申明,抽象類可以做方法申明弓熏,也可以做方法實現(xiàn)恋谭。

2.接口要被類實現(xiàn),抽象類要被子類繼承挽鞠。

3.接口可以繼承接口疚颊,并可以多繼承接口,但類只能單個繼承滞谢。

4.接口定義的變量只能是公共的靜態(tài)的常量串稀,抽象類中的變量是普通變量。


常用關(guān)鍵字:

static:

1.變量:被static修飾的變量叫做靜態(tài)變量(類變量)狮杨,沒有被修飾的叫實例變量母截。

區(qū)別:靜態(tài)變量在內(nèi)存中只有一份拷貝,JVM只為靜態(tài)分配一次內(nèi)存橄教,在加載過程中完成靜態(tài)變量的內(nèi)存分配清寇,直接通過類名訪問。

? ? ? ? ? 實例變量护蝶,每創(chuàng)建一個實例华烟,就會為實例變量分配一次內(nèi)存,實例變量可以在內(nèi)存中多個拷貝持灰,互不影響盔夜。

2.靜態(tài)方法:靜態(tài)方法可以直接通過類名調(diào)用,任何的實例也都可以調(diào)用。

因此靜態(tài)方法中不能用this和super關(guān)鍵字喂链,不能直接訪問所屬類的實例變量和實例方法(就是不帶static的成員變量和成員成員方法)返十,只能訪問所屬類的靜態(tài)成員變量和成員方法

3.static代碼塊:static代碼塊也叫靜態(tài)代碼塊,是在類中獨立于類成員的static語句塊椭微,可以有多個洞坑,位置可以隨便放,它不在任何的方法體內(nèi)蝇率,JVM加載類時會執(zhí)行這些靜態(tài)的代碼塊迟杂,如果static代碼塊有多個,JVM將按照它們在類中出現(xiàn)的先后順序依次執(zhí)行它們本慕,每個代碼塊只會被執(zhí)行一次

利用靜態(tài)代碼塊可以對一些static變量進行賦值排拷。

final:

final用于聲明屬性,方法和類间狂,分別表示屬性不可變攻泼。

修飾類:不能被繼承;修飾方法:不能被重寫鉴象;修飾變量:不能被修改,是常量

synchronized線程何鸡、同步:

1.synchronized 關(guān)鍵字可以應用于方法或語句塊纺弊,并為一次只應由一個線程執(zhí)行的關(guān)鍵代碼段提供保護。

2.synchronized 關(guān)鍵字可防止代碼的關(guān)鍵代碼段一次被多個線程執(zhí)行骡男。

3.如果應用于靜態(tài)方法淆游,那么,當該方法一次由一個線程執(zhí)行時隔盛,整個類將被鎖定犹菱。

4.如果應用于實例方法,那么吮炕,當該方法一次由一個線程訪問時腊脱,該實例將被鎖定。

5.如果應用于對象或數(shù)組龙亲,當關(guān)聯(lián)的代碼塊一次由一個線程執(zhí)行時陕凹,對象或數(shù)組將被鎖定。

this:

this關(guān)鍵字必須放在非靜態(tài)方法里面

this關(guān)鍵字代表自身鳄炉,在程序中主要的使用用途有以下幾個方面:

1. 使用this關(guān)鍵字引用成員變量

2.使用this關(guān)鍵字在自身構(gòu)造方法內(nèi)部引用其它構(gòu)造方法

3.使用this關(guān)鍵字代表自身類的對象

4. 使用this關(guān)鍵字引用成員方法

修飾符:

default不加 - 在自己的package里面可用

public - 所有地方都可以用

private - 只有在自己的類里面可用

protected - 在子類和當前package




常見面試題:

1.談?wù)刦inal, finally, finalize的區(qū)別杜耙。

2.Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?(可以)

3.接口和抽象的區(qū)別拂盯。

4.構(gòu)造器 Constructor 是否可被 Override?

:構(gòu)造器 Constructor 不能被繼承佑女,因此不能重寫 Override,但可以被重載 Overload。

5. 兩個對象值相同(x.equals(y) == true)团驱,但卻可有不同的 hash code摸吠,這句 話對不對?

答:不對,如果兩個對象 x 和 y 滿足 x.equals(y) == true店茶,它們的哈希碼(hash code)應當相同蜕便。(要擴展)

(1)如果兩個對象相同(equals 方法返回 true ),那么它們的 hashCode 值一定要相同;

(2)如果兩個對象的 hashCode相同贩幻,它們并不一定相同轿腺。當然,你未必要按照要求 去做丛楚,但是如果你違背了上述原則就會發(fā)現(xiàn)在使用容器時族壳,相同的對象可以出現(xiàn)在 Set 集合中,同時增加新元素 的效率會大大下降(對于使用哈希存儲的系統(tǒng)趣些,如果哈希碼頻繁的沖突將會造成存取性能急劇下降)

6.java 中實現(xiàn)多態(tài)的機制是什么?

答:靠的是父類或接口定義的引用變量可以指向子類或具體實現(xiàn)類的實例對象仿荆,而程序調(diào)用的方法在運行期才動態(tài)綁定,就是引用變量所指向的具體實例對象的方法坏平,也就是內(nèi)存里正在運行的那個對象的方法拢操,而不是引用變量的類型中定義的方法

7.關(guān)于static和this的題:

public class This{

static int value = 9; //注意value是靜態(tài)的成員變量

public static void main(String[] args) throws Exception{

new This().printValue();

}

private void printValue(){

int value = 69;

System.out.println(this.value);

System.out.println(value);

}}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末,一起剝皮案震驚了整個濱河市舶替,隨后出現(xiàn)的幾起案子令境,更是在濱河造成了極大的恐慌,老刑警劉巖顾瞪,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舔庶,死亡現(xiàn)場離奇詭異,居然都是意外死亡陈醒,警方通過查閱死者的電腦和手機惕橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钉跷,“玉大人弥鹦,你說我怎么就攤上這事〕居Γ” “怎么了惶凝?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長犬钢。 經(jīng)常有香客問我苍鲜,道長,這世上最難降的妖魔是什么玷犹? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任混滔,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘坯屿。我一直安慰自己油湖,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布领跛。 她就那樣靜靜地躺著乏德,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吠昭。 梳的紋絲不亂的頭發(fā)上喊括,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音矢棚,去河邊找鬼郑什。 笑死,一個胖子當著我的面吹牛蒲肋,可吹牛的內(nèi)容都是我干的蘑拯。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼兜粘,長吁一口氣:“原來是場噩夢啊……” “哼申窘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起孔轴,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤偶洋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后距糖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡牵寺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年悍引,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帽氓。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡趣斤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出黎休,到底是詐尸還是另有隱情浓领,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布势腮,位于F島的核電站联贩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捎拯。R本人自食惡果不足惜泪幌,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祸泪,春花似錦吗浩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至右蒲,卻和暖如春阀湿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背品嚣。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工炕倘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翰撑。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓罩旋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親眶诈。 傳聞我的和親對象是個殘疾皇子涨醋,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容