本文目錄一覽:
- 1、java基礎面試題有哪些?
- 2、java簡單試題
- 3、JAVA試題,有會做的嗎?
- 4、java試卷
- 5、求 JAVA 試題 判斷題答案
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簡單試題
4、對象的使用包括引用對象的成員變量和方法。通過_對象_點___屬性_運算符就能實現對對象成員變量的訪問和對象方法的調用。
5、在Java中有一種叫作_構造方法____________特殊方法,我們在程序中用它來對類的對象成員進行初始化。
6、用static修飾的方法,稱為靜態方法。它們不是對象的方法,而是整個類的方法。靜態方法只能處理用關鍵字___static_____修飾的數據。
7、表達式1/2*3的計算結果是______0__。
8、在Java程序中,通過類的定義只能實現___單_____重繼承,但通過接口的定義可以實現____多____重繼承關係。
9、在Java語言中,邏輯常量只有true 和 _____false______ 兩個值。
10、Java語言中的浮點型數據根據數據存儲長度和數值精度的不同,進一步分為float和 _double________兩種具體類型。
11、else子句不能單獨作為語句使用,它必須和if子句配對使用,那麼else 子句的配對原則是:else子句總是與離它___最近_____的if子句配對使用。
12、向對象的語言將客觀世界都看成由各種對象組成,共同特徵和行為的對象組成類, 類是變量和___方法_____的集合體。
13、RandomAccessFile所實現的接口是 DataInput、 Closeable____接口和DataOutput 接口。
14、創建包的語句應該放在程序的位置為___文件的第一句________。
15、字符類輸出流的各個類都是抽象類___java.io.Reader______的子類。
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試卷
第一,談談final,
finally,
finalize的區別。
final
修飾符(關鍵字)如果一個類被聲明為final,意味着它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為
abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
finally
再異常處理時提供
finally
塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的
catch
子句就會執行,然後控制就會進入
finally
塊(如果有的話)。
finalize?方法名。java
技術允許使用
finalize()
方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在
object
類中定義的,因此所有的類都繼承了它。子類覆蓋
finalize()
方法以整理系統資源或者執行其他清理工作。finalize()
方法是在垃圾收集器刪除對象之前對這個對象調用的。
第二,anonymous
inner
class
(匿名內部類)
是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?
匿名的內部類是沒有名字的內部類。不能extends(繼承)
其它類,但一個內部類可以作為一個接口,由另一個內部類實現。
第三,static
nested
class
和
inner
class的不同,說得越多越好(面試題有的很籠統)。
nested
class
(一般是c++的說法),inner
class
(一般是java的說法)。java內部類與c++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http:
//
;page=1
註:
靜態內部類(inner
class)意味着1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象
第四,和的區別。
是位運算符。是布爾邏輯運算符。
第五,hashmap和hashtable的區別。
都屬於map接口的類,實現了將惟一鍵映射到特定的值上。
hashmap
類沒有分類或者排序。它允許一個
null
鍵和多個
null
值。
hashtable
類似於
hashmap,但是不允許
null
鍵和
null
值。它也比
hashmap
慢,因為它是同步的。
第六,collection
和
collections的區別。
collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
collection是個java.util下的接口,它是各種集合結構的父接口。
第七,什麼時候用assert。
斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為
true。如果表達式計算為
false,那麼系統會報告一個
assertionerror。它用於調試目的:
assert(a
0);
//
throws
an
assertionerror
if
a
=
斷言可以有兩種形式:
assert
expression1
;
assert
expression1
:
expression2
;
expression1
應該總是產生一個布爾值。
expression2
可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的
string
消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用
source
1.4
標記:
javac
-source
1.4
test.java
要在運行時啟用斷言,可使用
-enableassertions
或者
-ea
標記。
要在運行時選擇禁用斷言,可使用
-da
或者
-disableassertions
標記。
要系統類中啟用斷言,可使用
-esa
或者
-dsa
標記。還可以在包的基礎上啟用或者禁用斷言。
可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。
第八,gc是什麼?
為什麼要有gc?
(基礎)。
gc是垃圾收集器。java
程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
system.gc()
runtime.getruntime().gc()
第九,string
s
=
new
string(“xyz”);創建了幾個string
object?
兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。
第十,math.round(11.5)等於多少?
math.round(-11.5)等於多少?
math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11;
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
都不能
求 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-hk/n/282762.html