?
1. ???????? 面向對象的特征有哪些方面請詳細講解
? ???????? 封裝 : 一個類中有多個的屬性與方法,對于方法與屬性有四種修飾符 private 、 protected 、 public 、 internal 修飾 符的訪問權限。
private : 私有成員, 在類的內部才可以訪問。
protected : 保護成員,該類內部和繼承類中可以訪問。
public : 公共成員,完全公開,沒有訪問限制。
internal: 在同一包內可以訪問
? ???????? 繼承:子類繼承父類的所有方法與屬性。可以覆蓋,在覆蓋的構造函數及方法通過super(),方法super.父類方法名()
? ???????? 多態:
n ????????? 靜態 : 方法名相同,參數不同。
n ????????? 動態:將子類的實例傳與父類的引用,調用的是子類的方法。將實現接口的類的實例傳與接口的引用,調用的是實現類的方法。
2.??????? 運行時異常與一般異常有何異同?
? ???????? 運行時異常:由 java 虛擬機拋出的異常。用戶不必處理。
? ???????? 一般異常是用戶可以拋出的異常,如果拋出調用必須進行處理。
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 的區別
? ???????? String 在合并字符串時要轉化成 StringBuffer ,所以效率較低度。 StringBuffer 的效率較高
5. ???????? int 和 Integer 有什么區別
? ???????? Int 是基本的數據類型,不是對象。
? ???????? Integer 是一個封裝類,其實例可以封裝一個整型值,其有多個方法,如 parseInt( “” ) ,將字符串轉化為了一整型。
6. ???????? String 是最基本的數據類型嗎 ?
? ???????? 不是,其是一個對象。
7. ???????? 作用域 public,protected,private, 以及不寫時的區別
? ???????? Public: 不同包、同一包、類內都可用
? ???????? Private :類內
? ???????? Protected: 不同包的子類、同一包、類內都可用
? ???????? 不寫時 : 同一包內、類內
8. ???????? char 型變量能不能定義為一個中文 ? 為什么 ?
? ???????? 可以,因其有 16 位,正好一個中文漢字。
9. ???????? 繼承時候類的執行順序
? ???????? 先是父類,后是子類。
10. ???? 內部類的實現方式 ?
內部類 (1)
Public class superClass
{
?????? Pubic class subclass
?????? {
}
}
匿名類
Public class superClass extends Frame
{
?????? This.addActionListener
(?????
new ActionListener()
????????????? Public void actionPerformed(ActionEvent e)
????????????? {
???????????????????? e.printStackTrace();
}
)
}
11. ???? 垃圾回收機制 , 如何優化程序 ?
? ???????? 靜態內存存放的是類,動態內存存放的是對象(非解態的屬性),當一個實例沒有引用時由 JVM 收回實例所占的內存。
12. ???? float 型 float f=3.4 是否正確 ?
? ???????? 報錯,應當是 float f=3.4f
? ???????? 如果是 float f=3( 整數 ) 正確
13. ???? 談談 final, finally, finalize 的區別。
? ???????? Final :不可變,在類前不可被繼承、在方法前不可被覆蓋、在屬性前是常量
? ???????? Finally: 是異常處理中的不管有沒有錯都執行一次。
? ???????? Finalize :是類級的方法,當這個類的實例被 JVM 清除時會自動調用。
14. ???? Anonymous Inner Class ( 匿名內部類 ) 是否可以 extends( 繼承 ) 其它類,是否可以 implements( 實現 )interface( 接口 )?
? ???????? 可以,但不寫 extends 或 implements 接口,而是直接 new 接口或 new 父類。
15. ???? Static Nested Class 和 Inner Class 的不同,說得越多越好 ( 面試題有的很籠統 ) 。
?
16. ???? & 和 && 的區別。
? ???????? && 的是短路與,是要左邊為 false ,直接返回對右邊不進行判斷。
? ???????? & 是與,左邊為 false ,右邊還要進行計算,所以效率低一些
17. ???? GC 是什么 ? 為什么要有 GC?
? ???????? Gc 是主動進行垃圾收集。
? ???????? 代碼如下
Runtime r=Runtime.getRuntime();
r.gc();
18. ???? String s = new String("xyz"); 創建了幾個 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; 有什么錯 ?
當用 + 號時, Short 不可以直接相加,必須將 short 轉化為 int 才可以執行。如下
? ???????? a=(short)((int)a+1);
?
? ???????? short s1 = 1; s1 += 1; 正確,沒有錯誤。