2016精選Java面試題各個擊破一
什麼是隱式型別轉換?什麼是顯示型別轉換?
當將佔位數少的型別賦值給佔位數多的型別時,Java自動使用隱式型別轉換(如int型轉為long型)。當把在級別高的變數的值賦給級別底變數時,必須使用顯示型別轉換運算(如double型轉為float型)。
&&和&的區別,||和|的區別?
&&和||是短路與,短路或,當左邊的表示式能判斷當前結果,則不判斷右邊的表示式(比如&&的第一項為false則一定為false,||的第一項為true則一定為true)。 而& 和|則將兩邊的表示式都運算完畢後,再算結果。
解釋什麼是類方法,什麼是例項方法?
static修飾的方法是類方法,無static修飾的方法是例項方法。
簡述方法和變數的命名規則?
首寫字母使用小寫,如果由多個單片語成,從第2個單詞開始首字母使用大寫。
什麼是方法過載?
方法過載是指一個類中可以有多個方法具有相同的名字,但這些方法的引數必須不
同,即或者是引數的個數不同,或者是引數的型別不同。
如何建立一個物件?
使用new 運算子和類的構造方法為物件分配記憶體,如果類中沒有構造方法,系統
會呼叫預設的構造方法。
簡述java的訪問許可權。
public:公有的,任何類都可以訪問。
protected:受保護的,同一個包的類可以訪問。不同包的子類可以訪問。
Friendly:友好的:同一個包的類可以訪問
private:私有的,在同一個類中才能訪問。
final關鍵字可以用來修飾什麼?分別起什麼作用?
final可以修飾類,這樣的類不能被繼承。
final可以修飾方法,這樣的方法不能被重寫。
final可以修飾變數,這樣的變數的值不能被修改,是常量。
簡述什麼是物件上轉型?
假設,A 類是B 類的父類,當我們用子類建立一個物件,並把這個物件的引用放到父類的物件中時,我們稱這個父類物件是子類物件的上轉型物件。
上轉型物件可以操作什麼?不可以操作什麼?
上轉物件不能操作子類新增的成員變數,失掉了這部分屬性,不能使用子類新增的
方法,失掉了一些功能 。
上轉型物件可以操作子類繼承或重寫的成員變數,也可以使用子類繼承的或重寫的方法。
已知一個java.util.Date物件,如何格式化成如下格式 YYYY-MM-dd hh:mm:ss
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
formate.format(new Date()));
簡述如下關鍵字用途try、catch、throw、throws、finally
try:保護程式碼,如果try中某行程式碼出現異常,則try中程式碼不再繼續執行。
catch:捕獲異常,當try中出現異常,則catch負責捕獲異常,並處理。
throw:丟擲異常。
throws:宣告異常。
finally:無論try中是否出現異常,finally一定執行。
已知如下程式碼
File f = new File("myfile.dat");
FileInputStream istream = new FileInputStream(f); 如何從流中讀取資料?
byte[] buff = new byte[100];
istream.read(buff);
實現多執行緒的兩種方法?
從Java.lang.Thread類派生一個新的執行緒類,重寫它的run()方法。
實現Runnable介面,重寫Runable介面中的run()方法。
什麼是GC?為什麼有GC?
GC是垃圾收集器。Java 程式設計師不用擔心記憶體管理,因為垃圾收集器會自動進行管
理。
構造方法能否被重寫?為什麼?
不能,因為構造方法不能被繼承,所以不能重寫。、
是否可以繼承String類,為什麼?
因為String類是final類,final修飾的類不能被繼承。
java關鍵字區分大小寫嗎?
java關鍵字一律小寫。所以無所謂區分大小寫,大寫的不是關鍵字。
java採用什麼字符集?該字符集有多少字元 ?
Java 使用 unicode 字符集,所以常量共有 65535 個
簡述一個java程式執行的過程?
首先編寫java原始檔(副檔名為.java的文字文件)。用javac命令把原始檔編譯成位元組碼檔案(.class檔案,再用java命令執行位元組碼檔案。
守護程序(Daemon)是一種執行在後臺的特殊程序,它獨立於控制終端並且週期性的執行某種任務或等待處理某些發生的事件。守護執行緒最典型的應用就是 GC (垃圾回收器)
Java介面的修飾符可以為()
A private B protected C final D abstract
答案:D
ArrayList list = new ArrayList(20);中的list擴充幾次()
A 0 B 1 C2 D 3
答案:A
大家都知道預設ArrayList的長度是10個,所以如果你要往list裡新增20個元素肯定要擴充一次(擴充為原來的1.5倍),但是這裡顯示指明瞭需要多少空間,所以就一次性為你分配這麼多空間,也就是不需要擴充了。
下面哪些是對稱加密演算法()
A DES B AES C DSA D RSA
答案:AB
解析:常用的對稱加密演算法有:DES、3DES、RC2、RC4、AES
常用的非對稱加密演算法有:RSA、DSA、ECC
使用單向雜湊函式的加密演算法:MD5、SHA