core java面试题_CoreJava基础面试题
1、局部變量的概念及特點
局部變量是聲明在方法內的變量
特點1.必須先賦值才能使用2.作用范圍從聲明開始到它所在的代碼塊結束3.在重合的作用范圍之內不允許局部變量名字相同
2、方法重載和方法覆蓋的區別?
方法的重載要求方法名必須相同,形參列表必須不同,其他不作要求
方法的覆蓋是方法名參數列表返回值類型必須相同,訪問修飾符相同或者更寬,子類不能拋出更大的異常,子類可以選擇不拋或者RuntimeException類型的異常不受限制
3、多態的核心代碼
多態即父類引用指向子類對象,也可以使接口指向實現類對象
4、*什么是類加載
JVM在第一次使用一個類的時候,會通過CLASSPATH找到對應的類的.class文件將他的類名屬性方法構造方法等讀取到內存中,類加載只會進行一次
5、**類加載的時機
1.第一次創建對象的時候會出發類加載2.第一次訪問類的靜態成員時會觸發類加載3.子類加載時會觸發父類加載先進行4.class.forName(“類的全限命名”)
6、*Final修飾符可以修飾什么
Final可以修飾類 方法 成員變量 局部變量等 修飾類不可以被繼承 修飾方法可以被繼承不可以被覆蓋 修飾屬性 常量不可改變
7、抽象類和接口的區別
抽象類 有構造方法 方法可以是抽象的 不可以直接new對象只能被繼承 子類對象如果不想成為抽象類必須實現父類中所有的抽象方法 ,單繼承
接口:沒有構造方法,接口中的方法一定是公開抽象的,接口中的屬性一定是公開靜態常量,可以多繼承,也可以多實現,接口可以繼承多個接口,一個實現類也可以實現多個接口,接口的實現類必須實現接口中所有的方法
8、接口的特點
接口特點:接口:沒有構造方法,接口中的方法一定是公開抽象的,接口中的屬性一定是公開靜態常量,可以多繼承,也可以多實現,接口可以繼承多個接口,一個實現類也可以實現多個接口,接口的實現類必須實現接口中所有的方法
9、內部類的分類
成員內部類 局部內部類 靜態內部類 匿名內部類
10、Equals()方法的步驟
自反性 非空性 一致性 強轉 屬性逐一對比(基本類型用== String類型用equals)
11、包裝類的作用
區分null和0,即區分有效數據和無效數據
12、String a=”Hello”和String s=new String(“Hello”)的區別
第一個是先在串池中查看有無字符串Hello如果有的話引用直接指向串池中的Hello,如果沒有先則先在串池中創建一個Hello然后引用指向它
第二個是先在串池中查看有無Hello如果沒有,先在串池中創建一個Hello然后去堆中創建一個Hello引用指向堆空間的Hello;如果串池中有Hello則直接去堆空間中創建Hello引用指向堆空間中的Hello
13、StringBuilder和StringBuffer的區別
StringBuffer ?JDK1.0 線程安全,效率低
StringBuilder JDK1.5 線程不安全,效率高
14、String類中的常用方法
charAt(int i )獲取i下標所對應的字符
contains(String s)判斷字符中是否包含子串s
endsWith(String s)判斷字符串是否已子串s結尾
startsWith(String s)判斷字符串是否以子串s開頭
indexOf(String s)返回子串s第一次在字符串中出現的下標
lastIndexOd(String s)返回子串s最后一次在字符串中出現的下標
isEmpty()判斷字符串是否為空
String(char[] ss)利用字符數組構造String
length()返回字符串長度
split(String s)利用s分割字符串并且返回字符串數組
toCharArray() 將字符串轉化為字符數組
15、List接口下學過什么實現類,各個實現類的區別
ArrayList jdk1.2實現類有序有下標,元素可重復 線程不安全 底層數組實現
LinkedList jdk1.2 線程不安全 底層鏈表實現
Vactor jdk1.0 線程安全 底層數組實現
16、ArrayList和Vector的區別
ArrayList jdk1.2 線程不安全底層數組實現
Vector jdk1.0 線程安全 底層數組實現
17、List和Set接口各自的特點
List元素可重復 有序有下標
Set元素不可重復 無序無下標
18、HashSet的特點是什么
無序需無下標元素不可重復,底層哈希表實現
19、*HashSet如何保證數據唯一
覆蓋equals方法保證相同對象內容返回的是true
重寫equals方法保證內容的對象返回值都相同
為了哈希表實現最優性能盡量保證不同對象返回不同的整數
20、Map的特點是什么
Map特點存儲的是鍵值對,鍵不可以重復,值可以重復
21、***HashMap如何添加一個元素
集合名.put(k,v);
22、HashMap和Hashtable的區別
HashMap jdk1.2 允許null作為鍵或值 線程不安全 效率高
HashTable jdk1.0不允許null作為鍵或值 線程安全 效率低
23、HashMap的增刪改查方法名各自是什么
put remove put containsKey containsValue
24、ArrayList的增刪改查方法都是什么
add ?remove clear set size get
25、ArrayList的遍歷方式(四種)
26、HashMap的遍歷方式(四種)
27、異常的分類
錯誤和Exception Exception分為RuntimeException和非RuntimeException
28、IO的分類
按照方向分 輸入輸出
按照單位分 字節字符
按照功能分 過濾節點
29、方法覆蓋對異常的要求
子類方法不能拋出比父類更大的異常,子類可以不拋或者拋出RuntimeException
30、線程的創建方式
兩種方式1.繼承Thread重寫run方法4實現Runnable接口并且實現run方法
31、數據不安全的原因及解決方式
多線程訪問和修改導致數據異常出錯,解決方式就是加鎖
32、*Synchronized的用法
Synchronized修飾方法 Synchronized修飾代碼塊
33、什么是類對象、
類加載的產物
34、說出三個常見的異常處理結果
總結
以上是生活随笔為你收集整理的core java面试题_CoreJava基础面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: activex java 控件_java
- 下一篇: 好用不贵带鱼屏推荐哪款带鱼屏好