Java日常練習題,每天進步一點點(32)
承蒙各位厚愛,我們一起每天進步一點點!(鼠標選中空白處查看答案)
1、如果一個方法或變量是”private”訪問級別,那麼它的訪問范圍是:
正確答案: D
在當前類,或者子類中
在當前類或者它的父類中
在當前類,或者它所有的父類中
在當前類中
題解:
private 修飾的方法和變量隻能在當前類中訪問
不帶任何修飾符,隻能在同一包內的類中,被訪問
protected 隻能在子類或者當前類中被訪問
public 所有類中可以訪問
2、代碼將打印?
System.out.println(10%3*2);
正確答案: B
1
2
4
6
題解:
%和*是同一個優先級,從左到右運算
3、下面關於hibernate核心接口說明錯誤的是?
正確答案: B
Configuration 接口:配置Hibernate,根據其啟動hibernate,創建SessionFactory 對象
SessionFactory 接口:負責保存、更新、刪除、加載和查詢對象,是線程不安全的,避免多個線程共享同一個session,是輕量級、一級緩存
Query 和Criteria 接口:執行數據庫的查詢
Transaction 接口:管理事務
題解:
B選項中應該是Session接口而不是SessionFactory接口
4、以下哪項陳述是正確的?
正確答案: E
垃圾回收線程的優先級很高,以保證不再 使用的內存將被及時回收
垃圾收集允許程序開發者明確指定釋放 哪一個對象
垃圾回收機制保證瞭JAVA程序不會出現 內存溢出
進入”Dead”狀態的線程將被垃圾回收器回收
以上都不對
題解:
A: 垃圾回收在jvm中優先級相當相當低。
B:垃圾收集器(GC)程序開發者隻能推薦JVM進行回收,但何時回收,回收哪些,程序員不能控制。
C:垃圾回收機制隻是回收不再使用的JVM內存,如果程序有嚴重BUG,照樣內存溢出。
D:進入DEAD的線程,它還可以恢復,GC不會回收
5、在jdk1.5之後,下列 java 程序輸出結果為______。
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
正確答案: B
true,false
true,true
false,true
false,false
對於不同的環境結果不同
程序無法執行
題解:
1、基本型和基本型封裝型進行“==”運算符的比較,基本型封裝型將會自動拆箱變為基本型後再進行比較,因此Integer(0)會自動拆箱為int類型再進行比較,顯然返回true;
2、兩個Integer類型進行“==”比較,如果其值在-128至127,那麼返回true,否則返回false, 這跟Integer.valueOf()的緩沖對象有關,這裡不進行贅述。
3、兩個基本型的封裝型進行equals()比較,首先equals()會比較類型,如果類型相同,則繼續比較值,如果值也相同,返回true
4、基本型封裝類型調用equals(),但是參數是基本類型,這時候,先會進行自動裝箱,基本型轉換為其封裝類型,再進行3中的比較。
6、關於 訪問權限說法正確 的是 ? ( )
正確答案: D
外部類定義前面可以修飾public,protected和private
局部內部類前面可以修飾public,protected和private
匿名內部類前面可以修飾public,protected和private
以上說法都不正確
題解:
對於外部類來說,隻有兩種修飾,public和默認(default),因為外部類放在包中,隻有兩種可能,包可見和包不可見。
對於內部類來說,可以有所有的修飾,因為內部類放在外部類中,與成員變量的地位一致,所以有四種可能。
這道題是不嚴謹的題,首先B選項說的是內部類,內部類分為成員內部類、局部(方法)內部類、靜態內部類、匿名內部類。毫無疑問局部內部類屬於內部類,如果B選項正確,那麼C選項也應該是正確的。所以應該是選D
在Java中,可以將一個類定義在另一個類裡面或者一個方法裡邊,這樣的類稱為內部類,廣泛意義上的內部類一般包括四種:成員內部類,局部內部類,匿名內部類,靜態內部類 。
1.成員內部類
(1)該類像是外部類的一個成員,可以無條件的訪問外部類的所有成員屬性和成員方法(包括private成員和靜態成員);
(2)成員內部類擁有與外部類同名的成員變量時,會發生隱藏現象,即默認情況下訪問的是成員內部類中的成員。如果要訪問外部類中的成員,需要以下形式訪問:【外部類.this.成員變量 或 外部類.this.成員方法】;
(3)在外部類中如果要訪問成員內部類的成員,必須先創建一個成員內部類的對象,再通過指向這個對象的引用來訪問;
(4)成員內部類是依附外部類而存在的,也就是說,如果要創建成員內部類的對象,前提是必須存在一個外部類的對象;
(5)內部類可以擁有private訪問權限、protected訪問權限、public訪問權限及包訪問權限。如果成員內部類用private修飾,則隻能在外部類的內部訪問;如果用public修飾,則任何地方都能訪問;如果用protected修飾,則隻能在同一個包下或者繼承外部類的情況下訪問;如果是默認訪問權限,則隻能在同一個包下訪問。外部類隻能被public和包訪問兩種權限修飾。
2.局部內部類
(1)局部內部類是定義在一個方法或者一個作用域裡面的類,它和成員內部類的區別在於局部內部類的訪問僅限於方法內或者該作用域內;
(2)局部內部類就像是方法裡面的一個局部變量一樣,是不能有public、protected、private以及static修飾符的。
3.匿名內部類
(1)一般使用匿名內部類的方法來編寫事件監聽代碼;
(2)匿名內部類是不能有訪問修飾符和static修飾符的;
(3)匿名內部類是唯一一種沒有構造器的類;
(4)匿名內部類用於繼承其他類或是實現接口,並不需要增加額外的方法,隻是對繼承方法的實現或是重寫。
4.內部靜態類
(1)靜態內部類是不需要依賴於外部類的,這點和類的靜態成員屬性有點類似;
(2)不能使用外部類的非static成員變量或者方法。
7、下面哪個方法與Applet的顯示無關?
正確答案: A
draw
paint
repaint
update
題解:
這題,應該選draw。
Applet顯示相關的方法主要有3個。
1.paint(Graphicsg)方法,具體執行Applet的繪制。
2.update(Graphicsg)()方法,主要用於更新Applet的顯示。
3.repaint()方法,主要用於Applet的重新顯示,它調用update()方法實現對Applet的更新。
而draw()方法與顯示無關,故選A draw
8、以下哪幾種是java的基本數據類型。
正確答案: B C
String
int
boolean
Double
題解:
java四類八種基本數據類型:
1、整型 byte,short,int,long
2、浮點型 float,double
3、邏輯型 boolean
4、字符型 char
9、下列不是 Java 關鍵字的是 ( )
正確答案: B D
abstract
false
native
sizeof
題解:
Java有:
148個關鍵字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
2)2個保留字(現在沒用以後可能用到作為關鍵字):goto、const。
3)3個特殊直接量:true、false、null。
10、下面有關java的引用類型,說法正確的有?
正確答案: A B C D
對於一個對象來說,隻要有強引用的存在,它就會一直存在於內存中
如果一個對象僅持有虛引用,那麼它就和沒有任何引用一樣,在任何時候都可能被垃圾回收器回收。
如果一個對象隻具有軟引用,則內存空間足夠,垃圾回收器就不會回收它;如果內存空間不足瞭,就會回收這些對象的內存
一旦發現瞭隻具有弱引用的對象,不管當前內存空間足夠與否,都會回收它的空間
題解:
1、強引用:一個對象賦給一個引用就是強引用,比如new一個對象,一個對象被賦值一個對象。
2、軟引用:用SoftReference類實現,一般不會輕易回收,隻有內存不夠才會回收。
3、弱引用:用WeekReference類實現,一旦垃圾回收已啟動,就會回收。
4、虛引用:不能單獨存在,必須和引用隊列聯合使用。主要作用是跟蹤對象被回收的狀態。
答案匯總:
1、正確答案: D
2、正確答案: B
3、正確答案: B
4、正確答案: E
5、正確答案: B
6、正確答案: D
7、正確答案: A
8、正確答案: B C
9、正確答案: B D
10、正確答案: A B C D
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- Java日常練習題,每天進步一點點(54)
- java兩個integer數據判斷相等用==還是equals
- 簡單介紹java中equals以及==的用法
- 詳談java中int和Integer的區別及自動裝箱和自動拆箱
- Java基本數據類型族譜與易錯點梳理解析