本文目錄一覽:
JAVA試題,有會做的嗎?
一、基本知識(單選每題2分)
1、下列屬於Java語言的特點的一項是(D)
A、 運算符重載 B、單重繼承 C、指針操作 D、垃圾回收
2、Java語言最初是面向哪個應用領域設計的(A)
A、 Internet B、製造業 C、消費電子產品 D、CAD
3、Java語言屬於下列哪一種語言(B)
A、 面向機器的語言 B、面向對象的語言 C、面向過程的語言 D、面向操作系統的語言
4、面向對象的基本特徵不包括(B)
A、封裝 B、功能分解 C、繼承 D、多態
5、以下對類的描述不正確的是(D)
A、具有相同或相似性質的對象的抽象就是類
B、類是對象的抽象
C、類的實例是對象
D、對象和類無關
6、Java是由哪個公司推出的(A)
A、sun B、微軟 C、ORACLE D、google
7、以下不屬於Java體系的是(D)
A、j2se B、j2me C、j2ee D、j2sd
8、J2EE哪一年更改為JavaEE(B)
A、2008 B、2005 C、2006 D、2010
9、以下不屬於Java開發步驟的是(D)
A、編寫Java源文件
B、運行Java程序
C、編譯Java源文件
D、生成exe文件
10、Android是由哪個公司推出的(D)
A、sun B、微軟 C、ORACLE D、google
11、Android的第一個正式版本是哪年推出的( A )
A、2008 B、2005 C、2006 D、2010
12、Android被稱為「凍酸奶」的是哪個版本(A)
A、2.2 B、2.3 C、1.6 D、3.0
13、以下不屬於Android優勢的是(D)
A、平台開放性
B、豐富的硬體支持
C、方便開發
D、受Linux開發束縛
14、以下不屬於Android開發環境必備的是(C)
A、JDK B、ADT C、vs D、SDK
15、以下說法錯誤的是(D)
A、Android是免費開放平台
B、Android不可以用Myeclipse開發
C、eclipse是Android較好的開發工具
D、Android虛擬機可以上網
16、以下不屬於移動開發技術的是(A)
A、IOS B、j2me C、Android D、JavaEE
17、Java8.0版本由哪個公司發布(B)
A、sun B、甲骨文 C、微軟 D、google
18、Java8.0版本是哪年發布的(D)
A、2011 B、2012 C、2013 D、2014
19、以下不符合面向對象編程思想的是(C)
A、從現實世界中客觀存在的事物(即對象)出發來構造軟體系統
B、構造中儘可能運用人類的自然思維方式
C、認為事物之間沒有必然聯繫
D、保持問題域中事物及其相互關係的本來面貌
20、以下不屬於面向對象概念的是(D)
A、類 B、對象 C、對象的狀態和行為 D、結構體
望採納
JAVA試題求助
1.Java是不區分大小寫的語言。(錯)
2.Java的源代碼中定義幾個類, 編譯結果就生成幾個以.class為後綴的位元組碼文件。(對)
3.Java的字元類型採用的是ASCII編碼。(錯) —-unicode
4.在進行類的繼承時,子類可以擁有與父類相同名字的屬性和方法。(錯)——-私有的就不行
5.類中不可以沒有構造函數,在類的定義時必須定義類的構造函數。(錯)——定義類的時候可以不定義構造函數, 自動繼承Object的構造函數
6.類的繼承機制和介面的實現機制是完全相同的。(錯)——繼承不必要重新定義一些抽象方法,但是實現介面必須要實現介面里的所有方法
7.在DOS界面中,當從鍵盤讀入數據時,提取到的數據就是數據類型,不需要進行數據類型的轉換。(錯)——–提取到的數據都以字元串形式表示,根據需要轉化成其他基本類型
8.System類不能實例化,即不能創建System類的對象。(對)——-System的構造方法是私有的.
9.Java源程序是由類定義組成的,每個程序可以定義若干個類,但只有一個類是主類。(對)
10.一個類只能有一個父類,但一個介面可以有一個以上的父介面。(對)
11.在Java中,『a『與」a」代表的含義是一樣的,它們之間沒有區別。(錯)
12.Java的源代碼中無論定義多少個類, 編譯結果就只生成一個以.class為後綴的位元組碼文件。(錯)
13.Java的字元類型採用的是Unicode編碼,每個Unicode碼佔16個比特。(對)
14.多維數組中每一維的長度可以不相同。(對)
15.在類中定義重載方法時,每個重載方法的參數個數或參數類型可以相同。(對) ——–只要不是個數和類型完全相同.
16.Java源程序是由類定義組成的,每個程序可以定義若干個類,但只有一個類是主類。(對)
17.在進行類的繼承時,子類不能擁有與父類相同名字的屬性和方法。(錯)
18.System類不能實例化,即不能創建System類的對象。(對)
19.一個類只能有一個父類,但一個介面可以有一個以上的父介面。(對)
20.類中不可以沒有構造函數,在類的定義時必須定義類的構造函數。(錯)
Java基礎面試題都有哪些?
1.java異常機制的原理與應用\x0d\x0a答:每當程序出現異常之後,如果程序沒有進行相應的處理,則程序會出現中斷現象。\x0d\x0a實際上,產生了異常之後,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當try語句捕獲異常之後,將與catch語句的異常類型進行匹配,如果匹配成功則執行catch內的語句。簡單的應用:在所以throws語句的地方加入try-catch。標準應用:try-catch-finally-throw-throws一起使用。 \x0d\x0a\x0d\x0a2. 垃圾回收機制的優點\x0d\x0a答:釋放無用的對象所佔用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調用Runtime.getRuntime().gc()\x0d\x0a\x0d\x0a3. Error與Exception區別\x0d\x0a答:Error是jvm進行處理,是jvm出錯\x0d\x0aexception是可以由程序處理的,可以用try-catch捕獲的\x0d\x0a\x0d\x0a4. final,finally,finallize\x0d\x0a答:final定義的變數的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承\x0d\x0afinally是異常的統一出口,finallize是垃圾回收前的收尾工作,是Object類定義的\x0d\x0a\x0d\x0a5. Anonymous Inner Class是否可以extends,是否可以implements Interface\x0d\x0a答:允許繼承和實現,因為匿名內部類就是在抽象類和介面的基礎上發展起來的\x0d\x0a\x0d\x0a6. Static Nested Class 與Inner Class的區別\x0d\x0a答:使用Static定義的Class就是外部類,可以通過外部類. 內部類直接訪問\x0d\x0a而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內部類實例。\x0d\x0a\x0d\x0a7. HashMap and HashTable?\x0d\x0a答:HashMap:1) released in jdk 1.2,new Class 2)採用非同步處理方式,性能較高,是非線程安全的 3)允許null\x0d\x0aHashTable:\x0d\x0a1)released in jdk 1.0 ,old Class \x0d\x0a2)採用同步處理方式,性能低,是線程安全的\x0d\x0a3)不允許null\x0d\x0a\x0d\x0a8. assert代表什麼?\x0d\x0a答:asserts是jdk 1.4之後發布的新關鍵字,表示斷言,即程序執行到某個地方肯定是預計的值,一般開發很少使用。要使用assert,必須加上 -ea參數\x0d\x0a\x0d\x0a9. gc是什麼?\x0d\x0a答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放\x0d\x0a\x0d\x0a10. String s = new String(“xyz”)產生了幾個對象?\x0d\x0a答:一個匿名對象xyz,在棧空間內。一個new實例化的對象,在堆空間內。\x0d\x0a\x0d\x0a11. sleep() and wait()?\x0d\x0a答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒\x0d\x0await()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源\x0d\x0a\x0d\x0a12. Overload與Override的區別\x0d\x0a答:Overload:重載\x0d\x0a |- 在一個類中定義的若干方法\x0d\x0a |- 所有的方法名相同,但參數類型或個數不同\x0d\x0a |- 只有參數有關,與返回類型無關\x0d\x0aOverride:覆寫\x0d\x0a |- 在繼承的關係中\x0d\x0a |- 子類定義了父類同名的方法,參數類型或個數最好完全一樣。\x0d\x0a |- 訪問許可權不能更嚴格\x0d\x0a\x0d\x0a13. abstract class 和 interface有什麼區別?\x0d\x0a答:抽象類:\x0d\x0a |-由抽象方法和常量、變數、全局常量、構造方法、普通方法組成\x0d\x0a |-使用abstract聲明\x0d\x0a |-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法\x0d\x0a |-存在單繼承的局限\x0d\x0a |-抽象類可以實現若干個介面\x0d\x0a介面:\x0d\x0a |-由抽象方法和全局常量組成\x0d\x0a |-使用interface關鍵字\x0d\x0a |-子類要通過implements實現介面,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法\x0d\x0a |-一個子類可以實現多個介面\x0d\x0a |-介面不能繼承一個抽象類,但允許繼承多個介面
java基礎面試題有哪些?
下面是10道java基礎面試題,後附答案
1.什麼是 Java 虛擬機?為什麼 Java 被稱作是「平台無關的編程語言」?
Java 虛擬機是一個可以執行 Java 位元組碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的位元組碼文件。
Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬體平台的指令長度和其他特性。
2.「static」關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?
「static」關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的實例變數的情況下被訪問。
Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。
3.JDK 和 JRE 的區別是什麼?
Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟體開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。
4.是否可以在 static 環境中訪問非 static 變數?
static 變數在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變數進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何實例關聯上。
5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?
Java 語言支持的 8 中基本數據類型是:
byte
short
int
long
float
double
boolean
char
自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個介面。
7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是複製構造函數?
當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。
Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。
Java 不支持像 C++中那樣的複製構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的複製構造函數。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?
Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
9.介面和抽象類的區別是什麼?
Java 提供和支持創建抽象類和介面。它們的實現有共同點,不同點在於:
介面中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
類可以實現很多個介面,但是只能繼承一個抽象類
類如果要實現一個介面,它必須要實現介面聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。
抽象類可以在不提供介面方法實現的情況下實現介面。
Java 介面中聲明的變數默認都是 final 的。抽象類可以包含非 final 的變數。
Java 介面中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。
介面是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。
10.什麼是值傳遞和引用傳遞?
對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。
對象被引用傳遞,意味著傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。
最後祝你面試順利!
求 JAVA 試題 判斷題答案
1.對
2.錯
3.前半句對,後半句錯
4.對
5.錯
6.錯
7.對
8.錯
9.錯
10.錯
11.錯
12. 錯
13.對
14.錯
15.錯
16.錯
17.對
18.對
19.錯
20.錯
21.錯
22.對
23.錯
24.錯
25.對
26.錯
27.錯
28.錯
29.對
30.錯
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/231409.html