Java基礎(chǔ)每日10題——第一天

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)存空間的值是否相等
深入理解:看源碼,到時再來回顧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,871評論 18 399
  • 一、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,666評論 1 44
  • 集合框架: 1)特點(diǎn):存儲對象;長度可變;存儲對象的類型可不同2)Collection(1)List:有序的;元素...
    Demo_Yang閱讀 1,400評論 0 4
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,280評論 0 62
  • 出糧咯,惡心的人工! 今天思考了一下,還是明天和媽媽去看??!順便.... 今天家人終于病好了!好感動! 股票也漲得...
    DeathKnightR閱讀 350評論 0 0

友情鏈接更多精彩內(nèi)容