Posted on 2011-04-29 11:32
哈希 閱讀(299)
評論(0) 編輯 收藏 所屬分類:
java面試題
一、oop唯一關心的是接口是什么,就像就像汽車銷售商不需要管他是怎么制造的,只要關心他能不能燃燒燃料開動起來,只要知道(can or not)不要關心(how and why):
1、多態(tài)性:(java對象多態(tài),java中不支持多重繼承)
允許不同類的對象最統(tǒng)一消息做出響應。多態(tài)性包括參數(shù)化多態(tài)和包含性多態(tài)性,多態(tài)性語言具有靈活抽象,行為共享的優(yōu)勢,很好解決了應用函數(shù)同名問題.
2、封裝:(隱藏細節(jié))
就是把把數(shù)據(jù)和行為結合在一起,并對對象使用者隱藏隱藏數(shù)據(jù)的實現(xiàn)過程,一個對象中的數(shù)據(jù)稱為它的實例字段(instance);
3、繼承:(擴展一個類)
允許在已經(jīng)存在的類上構建新的類,當你繼承一個已經(jīng)存在的類時候那么你就 復用了這個類的方法和字段,同時你可以在新類中添加心得方法和字段;
?4、class類(oop最重要的思想,類中構建一個對象,即創(chuàng)建這個類的一個實例)
為編寫可動態(tài)操縱java代碼的程序提供了強大的功能反射,這項功能為javaBeans特別所有,能夠分析類能力的程序角反射器,java中提供的功能包叫java.lang.reflect反射機制十分強大。
5、接口:(不是一個類,對符合接口要求的類的一套規(guī)范)
實現(xiàn)接口兩個步驟:1、聲明類需要實現(xiàn)的指定接口;
2、提供接口中所有接口的定義;
接口是一個收集方法和常數(shù)的契約,當類執(zhí)行一個接口,他就許諾在那個接口中聲明的所有方法。接口是一個設備或者一個系統(tǒng),它是用于交互的無關實體。根據(jù)這個定義,遠程控制是一個你和電視的接口,而英語是兩個人之間的接口。在java語言中接口是一種設備,它是用來與其他對象交互的設備。一個接口可能對一個協(xié)議是類似的,實際上其他語言也有接口,但是它們調(diào)用它的接口協(xié)議。
6、動態(tài)綁定(調(diào)用對象方法的機制)
(1)編譯器檢查對象聲明的類型和方法名;(2)編譯器檢查方法調(diào)用的參數(shù)類型;(3)靜態(tài)綁定:若方法類型為private static final編譯器會準確知道調(diào)用哪個方法;(4)程序需要調(diào)動一個方法時,那么虛擬機必須調(diào)用參數(shù)所指向的對象的實際類型相匹配的方法。
7、構造器(特殊的方法,構造對象并將其初始化)
構造器可以有0個,一個或多個,構造器和類有相同的名字,一個類可以右多個構造器,構造器沒有返回值,構造器總是和new字符一起運行的。
8、final類(系統(tǒng)級的類,不可擴展)
防止派生新類
9、equal(判斷兩個對象是否相等)
10、toString()返回一個代表該對象的字符串,幾乎每一個類都會重載該方法,返回當前狀態(tài)的正確表示;
11、通用編程:
任何類型的所有值都可以都可以用Object類型的變量來代替;
12、內(nèi)部類:(定義在一個類的內(nèi)部的類)
1、一個內(nèi)部類的對象能夠訪問創(chuàng)建它的對象的實現(xiàn),包括私有數(shù)據(jù);
2、對于同一個包中的類,呢不累可以隱藏起來;
3、匿名內(nèi)部類可以很方便的進行回調(diào);
4、使用內(nèi)部類可以很方便的編寫事件驅動程序;
13、代理類:(proxy)
A、指定接口要求所有代碼;
B、Object類定義的所有方法(equals,toString());