ie 访问 java接口_Java基础面试题 库(1~10)
1、下列哪個說法是正確的()
A ? ?ConcurrentHashMap使用synchronized關鍵字保證線程安全
B ? ?HashMap實現了Collction接口
C ? ?Array.asList方法返回java.util.ArrayList對象
D ? ?SimpleDateFormat是線程不安全的
D
ConcurrentHashMap 使用segment來分段和管理鎖使用ReentrantLock來保證線程安全。
這個是HashMap的源碼:
public?class?HashMap<K,V>extends?AbstractMap<K,V>implements?Map<K,V>,?Cloneable,?SerializableArrays.asList() ?返回 ?java.util.Arrays.ArrayList 對象,這里的 ArrayList 是 Arrays 私有的內部類;并不是java.util.ArrayList。
SimpleDateFormat沒有加同步鎖,故不安全。
2、下面代碼的運行結果是()
public?static?void?main(String[]?args){????String?s;
????System.out.println("s="+s);
}
A ? ?代碼編程成功,并輸出”s=”
B ? ?代碼編譯成功,并輸出”s=null”
C ? ?由于String s沒有初始化,代碼不能編譯通過。
D ? ?代碼編譯成功,但捕獲到NullPointException異常
C
局部變量沒有默認值
3、JDK1.8版本之前,抽象類和接口的區別,以下說法錯誤的是()
A ? ? 接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的。
B ? ?abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface,實現多重繼承。接口還有標識(里面沒有任何方法,如Remote接口)和數據共享(里面的變量全是常量)的作用。
C ? ?在abstract class 中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是 static final的,不過在 interface中一般不定義數據成員),所有的成員方法默認都是 public abstract 類型的。
D ? ?abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"has-a"關系,interface表示的是"is-a"關系。
D
abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。
接口中:
如果是Java 7以及以前的版本,那么接口中可以包含的內容有:1. 常量;2. 抽象方法
如果是Java 8,還可以額外包含有:3. 默認方法;4. 靜態方法
如果是Java 9,還可以額外包含有:5. 私有方法
final變量在使用前必須先賦值
5、 關于Java內存區域下列說法不正確的有哪些?
A ? ?程序計數器是一塊較小的內存空間,它的作用可以看做是當前線程所執行的字節碼的信號指示器,每個線程都需要一個獨立的程序計數器.
B ? ?Java虛擬機棧描述的是java方法執行的內存模型,每個方法被執行的時候都會創建一個棧幀,用于存儲局部變量表、類信息、動態鏈接等信息
C ? ?Java堆是java虛擬機所管理的內存中最大的一塊,每個線程都擁有一塊內存區域,所有的對象實例以及數組都在這里分配內存。
D ? ?方法區是各個線程共享的內存區域,它用于存儲已經被虛擬機加載的常量、即時編譯器編譯后的代碼、靜態變量等數據。
B C
java虛擬機棧:線程私有,沒有類信息,類信息是在方法區中
java堆是被所有線程共享的一塊內存區域,而不是每個線程都擁有一塊內存區域。
6、在java中重寫方法應遵循規則的包括()
A ? ?訪問修飾符的限制一定要大于被重寫方法的訪問修飾符
B ? ?可以有不同的訪問修飾符
C ? ?參數列表必須完全與被重寫的方法相同
D ? ?必須具有不同的參數列表
B C
方法重寫要注意的事項:
? ?1.方法重寫時, 方法名與形參列表必須一致。
? ?2.方法重寫時,子類的權限修飾符必須要大于或者等于父類的權限修飾符。
? ?3.方法重寫時,子類的返回值類型必須要小于或者等于父類的返回值類型。
? ?4.方法重寫時, 子類拋出的異常類型要小于或者等于父類拋出的異常類型。
? ? ? ? ? ?Exception(大)
? ? ? ? ? ?RuntimeException(小)
A選項的一定要大于錯誤,而是子類重寫方法的訪問權限不能低于父類重寫方法的訪問權限
D 是重載要求
7、要使某個類能被同一個包中的其他類訪問,但不能被這個包以外的類訪問,可以( )
A ? ?讓該類不使用任何關鍵字
B ? ?使用private關鍵字
C ? ?使用protected關鍵字
D ? ?使用void關鍵字
A
總結:default拒絕一切包外訪問;protected接受包外的子類訪問
public>protected>default>private
8、枚舉(enum)屬于原始數據類型(primitive type)?
錯誤
在Java中,變量有兩種類型,一種是原始類型,一種是引用類型。
原始類型一共有8種,它們分別是char,boolean,byte,short,int,long,float,double。
9、Java語言中,下面哪個語句是創建數組的正確語句?( ? )
A????float?f[][]?=?new?float[6][6];B????float?[]f[]?=?new?float[6][6];
C????float?f[][]?=?new?float[][6];
D????float?[][]f?=?new?float[6][6];
E????float?[][]f?=?new?float[6][];
A B D E
一維長度必須定義,二維可以后續定義
10、jdk1.8中,下面有關java 抽象類和接口的區別,說法錯誤的是?
A ? ?抽象類可以有構造方法,接口中不能有構造方法
B ? ?抽象類中可以包含非抽象的普通方法,接口中的方法必須是抽象的,不能有非抽象的普通方法
C ? ?一個類可以實現多個接口,但只能繼承一個抽象類
D ? ?接口中可以有普通成員變量,抽象類中沒有普通成員變量
B D
參考第3題答案
抽象類
1.抽象類中可以構造方法
2.抽象類中可以存在普通屬性,方法,靜態屬性和方法。
3.抽象類中可以存在抽象方法。
4.如果一個類中有一個抽象方法,那么當前類一定是抽象類;抽象類中不一定有抽象方法。
5.抽象類中的抽象方法,需要有子類實現,如果子類不實現,則子類也需要定義為抽象的。接口
1.在接口中只有方法的聲明,沒有方法體。
2.在接口中只有常量,因為定義的變量,在編譯的時候都會默認加上
public static final
3.在接口中的方法,永遠都被public來修飾。
4.接口中沒有構造方法,也不能實例化接口的對象。
5.接口可以實現多繼承
6.接口中定義的方法都需要有實現類來實現,如果實現類不能實現接口中的所有方法
7.則實現類定義為抽象類。
java8中接口 可以有default、static方法,所以B是錯的。
--end--
總結
以上是生活随笔為你收集整理的ie 访问 java接口_Java基础面试题 库(1~10)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 右键保存剪贴板数据
- 下一篇: datagrid出现相同两组数据_多数据