?
1. ???????? 面向?qū)ο蟮奶卣饔心男┓矫嬲堅敿?xì)講解
? ???????? 封裝 : 一個類中有多個的屬性與方法,對于方法與屬性有四種修飾符 private 、 protected 、 public 、 internal 修飾 符的訪問權(quán)限。
private : 私有成員, 在類的內(nèi)部才可以訪問。
protected : 保護成員,該類內(nèi)部和繼承類中可以訪問。
public : 公共成員,完全公開,沒有訪問限制。
internal: 在同一包內(nèi)可以訪問
? ???????? 繼承:子類繼承父類的所有方法與屬性。可以覆蓋,在覆蓋的構(gòu)造函數(shù)及方法通過super(),方法super.父類方法名()
? ???????? 多態(tài):
n ????????? 靜態(tài) : 方法名相同,參數(shù)不同。
n ????????? 動態(tài):將子類的實例傳與父類的引用,調(diào)用的是子類的方法。將實現(xiàn)接口的類的實例傳與接口的引用,調(diào)用的是實現(xiàn)類的方法。
2.??????? 運行時異常與一般異常有何異同?
? ???????? 運行時異常:由 java 虛擬機拋出的異常。用戶不必處理。
? ???????? 一般異常是用戶可以拋出的異常,如果拋出調(diào)用必須進行處理。
3. ???????? 說出一些常用的類,包 , 接口,請各舉 5 個
? ???????? 類 :Math ClassLoader Class Method HttpServlet String Integer
? ???????? 包 :java.lang.* ; java.sql.* ; java.io.* ; javax.xml.* ; java.util.*
? ???????? 接口 :? Collection? Set?? List?? Map? EJBObject EntityBean SessionBean EJBHome
4. ???????? String 和 StringBuffer 的區(qū)別
? ???????? String 在合并字符串時要轉(zhuǎn)化成 StringBuffer ,所以效率較低度。 StringBuffer 的效率較高
5. ???????? int 和 Integer 有什么區(qū)別
? ???????? Int 是基本的數(shù)據(jù)類型,不是對象。
? ???????? Integer 是一個封裝類,其實例可以封裝一個整型值,其有多個方法,如 parseInt( “” ) ,將字符串轉(zhuǎn)化為了一整型。
6. ???????? String 是最基本的數(shù)據(jù)類型嗎 ?
? ???????? 不是,其是一個對象。
7. ???????? 作用域 public,protected,private, 以及不寫時的區(qū)別
? ???????? Public: 不同包、同一包、類內(nèi)都可用
? ???????? Private :類內(nèi)
? ???????? Protected: 不同包的子類、同一包、類內(nèi)都可用
? ???????? 不寫時 : 同一包內(nèi)、類內(nèi)
8. ???????? char 型變量能不能定義為一個中文 ? 為什么 ?
? ???????? 可以,因其有 16 位,正好一個中文漢字。
9. ???????? 繼承時候類的執(zhí)行順序
? ???????? 先是父類,后是子類。
10. ???? 內(nèi)部類的實現(xiàn)方式 ?
內(nèi)部類 (1)
Public class superClass
{
?????? Pubic class subclass
?????? {
}
}
匿名類
Public class superClass extends Frame
{
?????? This.addActionListener
(?????
new ActionListener()
????????????? Public void actionPerformed(ActionEvent e)
????????????? {
???????????????????? e.printStackTrace();
}
)
}
11. ???? 垃圾回收機制 , 如何優(yōu)化程序 ?
? ???????? 靜態(tài)內(nèi)存存放的是類,動態(tài)內(nèi)存存放的是對象(非解態(tài)的屬性),當(dāng)一個實例沒有引用時由 JVM 收回實例所占的內(nèi)存。
12. ???? float 型 float f=3.4 是否正確 ?
? ???????? 報錯,應(yīng)當(dāng)是 float f=3.4f
? ???????? 如果是 float f=3( 整數(shù) ) 正確
13. ???? 談?wù)?/span> final, finally, finalize 的區(qū)別。
? ???????? Final :不可變,在類前不可被繼承、在方法前不可被覆蓋、在屬性前是常量
? ???????? Finally: 是異常處理中的不管有沒有錯都執(zhí)行一次。
? ???????? Finalize :是類級的方法,當(dāng)這個類的實例被 JVM 清除時會自動調(diào)用。
14. ???? Anonymous Inner Class ( 匿名內(nèi)部類 ) 是否可以 extends( 繼承 ) 其它類,是否可以 implements( 實現(xiàn) )interface( 接口 )?
? ???????? 可以,但不寫 extends 或 implements 接口,而是直接 new 接口或 new 父類。
15. ???? Static Nested Class 和 Inner Class 的不同,說得越多越好 ( 面試題有的很籠統(tǒng) ) 。
?
16. ???? & 和 && 的區(qū)別。
? ???????? && 的是短路與,是要左邊為 false ,直接返回對右邊不進行判斷。
? ???????? & 是與,左邊為 false ,右邊還要進行計算,所以效率低一些
17. ???? GC 是什么 ? 為什么要有 GC?
? ???????? Gc 是主動進行垃圾收集。
? ???????? 代碼如下
Runtime r=Runtime.getRuntime();
r.gc();
18. ???? String s = new String("xyz"); 創(chuàng)建了幾個 String Object?
?
?
19. ???? Math.round(11.5) 等於多少 ? Math.round(-11.5) 等於多少 ?
? ???????? Math.round(11.5)=12
? ???????? Math.round(-11.5)=-11
20. ???? short s1 = 1; s1 = s1 + 1; 有什么錯 ? short s1 = 1; s1 += 1; 有什么錯 ?
當(dāng)用 + 號時, Short 不可以直接相加,必須將 short 轉(zhuǎn)化為 int 才可以執(zhí)行。如下
? ???????? a=(short)((int)a+1);
?
? ???????? short s1 = 1; s1 += 1; 正確,沒有錯誤。