原文
http://blog.csdn.net/bitfan/article/details/7058564
題目比較典型的 經驗總結:
1我們可以使用ANT工具創建一個可以在 Windows資源管理器中雙擊自動執行的 Jar文件。Ant是類似make一樣的工具。
2老生常談了,通常使用“==”判斷兩個String變量所引用字符串對象的值是否相等。(錯)因爲它們不是同一對象,所以即使內容相等,地址也不等,應該用string的比較語句equals()來比較
3兩個對象變量與它所引用的對象,它們所佔用的內存空間都在堆中(錯) -。-也是一知半解
4子類不能覆蓋父類的靜態方法。(對) =。=這個我真搞混了 對於覆蓋有3類不能覆蓋1靜態方法 2被private修飾 3被final修飾
5抽象類中的所有方法都是抽象方法。(錯) 抽象類中不一定包含抽象方法,但是包含抽象方法的類一定要被聲明爲抽象類。
6Java中可以使用泛型,因此 Java虛擬機直接支持泛型。(錯) 各種程序設計語言和其編譯器、運行環境對泛型的支持均不一樣
7 JDK 中的集合(比如ArrayList)不能直接保存原始數據類型(比如int)的數據。(對) 這個沒什麼好說的了 都是引用而已
8 同步(synchronized)方法本質上是利用JVM所提供“鎖(lock)”來實現的。(對)
在面向對象理論中,OOA,OOD,OOP這三個縮略語分別指代什麼?它們之間
有什麼聯繫嗎?
OOA:面向對象分析方法
OOD: 面向對象設計
OOP: 面向對象編程
4. 如果在程序運行時需要判斷某個對象是否是某個類的實例,你有幾種方法?
使用 instanceof 運算符
使用 class 對象
,String變量的內容是不可改的,
String str="ab";
str+="cd"; //這裏難道不是修改了 str變量的內容嗎?
System.out.println(str);//輸出:abcd
“+=”實際導致調用的是 StringBuilder的相關方法
9. 序列化技術能讓我們將一個對象保存到流中,請舉三個你想到的可以應用此技
術的實用場景,並給予簡要的說明。
保留用戶上次工作的結果
矢量繪圖軟件中保存用戶繪製的圖形
將一個對象從一臺計算機發送到另一臺計算機。
2. 請寫一個類,在任何時候都可以向它查詢“你已經創建了多少個對象?”,你的類應該是
線程安全的。
使用synchronized靜態方法+靜態字段實現