1.面向?qū)ο蠖加心男┨匦砸约皩@些特性的理解
- 繼承
- 多態(tài)性
- 封裝
- 抽象
2.訪問權(quán)限修飾符public、private、protected、default的區(qū)別
- public對所有都可用
- private只能對本類中使用
- protected只能在類、子類、包中使用
- default只能在本包內(nèi)被訪問,子類不可訪問
3.Java有沒有g(shù)oto語句
沒有
4.&和&&的區(qū)別
對于&:無論&左邊是否為false,他都會繼續(xù)檢驗(yàn)右邊的boolean值。
對于&&:只要檢測到左邊Boolean值為false時,就會直接判斷結(jié)果,不會在檢驗(yàn)右邊的值(因?yàn)?與"有一個false最后結(jié)果就是false了)
兩者執(zhí)行的結(jié)果是一樣的
5.在Java中,如何跳出當(dāng)前的多重嵌套循環(huán)
1.標(biāo)號方式
2.break跳出當(dāng)前循環(huán),通過內(nèi)部跳出條件控制跳出外部循環(huán)
break是跳出最接近的那一層循環(huán),而不是全部跳出
3.拋出異常也可以跳出多重循環(huán)
這里是直接跳出應(yīng)用
4.return語句
6.兩個對象值相同(x.equals(y) == true),但卻可有不同的 hash code,這句 話對不對?
不對!
hashCode 的常規(guī)協(xié)定是:
1.在 Java 應(yīng)用程序執(zhí)行期間,在對同一對象多次調(diào)用 hashCode 方法時,必須一致地返回相同的整數(shù),前提是將對象進(jìn)行 equals 比較時所用的信息沒有被修改。從某一應(yīng)用程序的一次執(zhí)行到同一應(yīng)用程序的另一次執(zhí)行,該整數(shù)無需保持一致。
2.如果根據(jù) equals(Object) 方法,兩個對象是相等的,那么對這兩個對象中的每個對象調(diào)用 hashCode 方法都必須生成相同的整數(shù)結(jié)果。
3.如果根據(jù) equals(java.lang.Object) 方法,兩個對象不相等,那么對這兩個對象中的任一對象上調(diào)用 hashCode 方法不要求一定生成不同的整數(shù)結(jié)果。但是,程序員應(yīng)該意識到,為不相等的對象生成不同整數(shù)結(jié)果可以提高哈希表的性能。
7.重載的方法不能根據(jù)返回類型進(jìn)行區(qū)分,因?yàn)榫幾g器無法得出你要調(diào)用的是哪個方法,如下情況:
float max(int a,int b)
int max(int a,int b)
8.抽象類和接口有什么異同?
1.抽象類是“聲明方法的存在而不去實(shí)現(xiàn)它”的類;而接口中的所有方法都是抽象的。
2.接口可以多繼承,抽象類不行
3.接口定義方法而不可以實(shí)現(xiàn)方法;抽象類可以實(shí)現(xiàn)部分方法。
4.接口中基本數(shù)據(jù)類型為static,而抽象類不是。
5.當(dāng)你關(guān)注一個事物的本質(zhì)時,用抽象類;當(dāng)你關(guān)注一個操作的時候,用接口。
9.靜態(tài)變量和實(shí)例變量的區(qū)別
靜態(tài)變量屬于類。實(shí)例變量必須創(chuàng)建對象后才可以通過這個對象來使用,靜態(tài)變量則可以直接使用類名來引用
public class Test11 {
public static int staticVar = 0;
public int instanceVar = 0;
public Test11() {
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar="
+ instanceVar);
}
public static void main(String[] args) {
Test11 test = new Test11();
Test11 test1 = new Test11();
Test11 test2 = new Test11();
}
}
輸出:
staticVar=1,instanceVar=1
staticVar=2,instanceVar=1
staticVar=3,instanceVar=1
10.==和equals的區(qū)別
最基本的理解:==比較的是兩個對象或?qū)嵗欠裰赶蛲粔K內(nèi)存空間,而equals是比較兩個變量或者實(shí)例指向的內(nèi)存空間的值是否相等
深入理解:看源碼,到時再來回顧