久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

講真,,這三道Java入門級面試題,你也不一定能搞定

 田維常 2021-02-01

想更好的應(yīng)對面試,,還是需要不斷學(xué)習(xí)不斷總結(jié),,下面我們來分析三道面試題。

  漲薪必備的面試小抄

下面是一道入門級面試題,,這道題基本上都是問初級的小伙伴比較多,,但如果你是中級,或者高級,。我覺得未必都能回答上來,。

說說 Java語言有哪些特點(diǎn)

盡量答出以下幾個關(guān)鍵詞:

1)簡單易學(xué)。Java有豐富的類庫,,能夠通過靜態(tài)方法封裝,,降低API的學(xué)習(xí)成本,提高工作效率,。

2)面向?qū)ο?。這個也是Java最重要的特性,java能夠使得程序耦合度更低,,內(nèi)聚性更高,。

3)可靠安全。Java生態(tài)系統(tǒng)包括用于分析和報告安全性問題的各種工具,。

4)與平臺無關(guān),。Java能夠跨平臺使用,Write Once Run AnyWhere,。實(shí)際上就是對應(yīng)操作系統(tǒng)上都有個虛擬機(jī)作為一個中間轉(zhuǎn)換,。

5)支持多線程。Java可以采用多線程+協(xié)程方式實(shí)現(xiàn)更多的并發(fā)操作,。

下面也是一道入門級面試題,,面向過程與面向?qū)ο蟮膮^(qū)別,這里最好的是搞過C或C++的同學(xué),,后面來搞Java了,,這樣對面向過程和面向?qū)ο缶幊痰捏w會更深。

說說面向?qū)ο蠛兔嫦蜻^程的區(qū)別

1)從概念上來說,。面向過程:字面意義上就是面向的是過程,,先做什么,、在做什么、最后做什么,,然后用函數(shù)把這些步驟一步一步地實(shí)現(xiàn),,在使用的時候一一調(diào)用則可。面向?qū)ο螅鹤置嬉饬x上就是面向的是對象,,是把構(gòu)成問題的事務(wù)分解成各個對象,,但是建立對象的目的也不是為了完成一個個步驟,而是為了描述某個事物在解決整個問題的過程中所發(fā)生的行為,。

2)從性能上來說,。面向過程性能較高,所以單片機(jī),、嵌入式開發(fā)等一般采用面向過程開發(fā),。從性能上來說,面向?qū)ο蟊让嫦蜻^程要低,。

3)從可用性來說,。面向?qū)ο笥蟹庋b、繼承,、多態(tài)的特性,,所以易維護(hù)、易復(fù)用,、易擴(kuò)展,,可以設(shè)計(jì)出低耦合的系統(tǒng)。

擴(kuò)展面試題:說說面向切面和面向?qū)ο蟮膮^(qū)別,。

下面還是一道入門面試題,,每個面試題都不要掉以輕心,都是考驗(yàn)基本功是否扎實(shí),。

說說方法重載和方法重寫的區(qū)別

都是和方法有關(guān)系的,,那Java中方法的簽名包含什么呢?

要完整的描述一個方法,,需要指出方法名以及參數(shù)類型,,這就叫方法的簽名。

比如說String類中有4個稱為indexOf的公有方法:

indexOf(int)
indexOf(int,int)
indexOf(String)
indexOf(String,int)

返回類型不是方法簽名的一部分,,也就是說,,不能有兩個名字相同、參數(shù)類型也相同卻有著不同類型返回值的方法,。

public void say(String name){
}
public String say(String name){
}

我們繼續(xù)聊方法的重寫與重載:

「方法的重寫(Override)」

從字面上看,,重寫就是 重新寫一遍的意思。其實(shí)就是在子類中把父類本身有的方法重新寫一遍,。子類繼承了父類原有的方法,,但有時子類并不想原封不動的繼承父類中的某個方法,,所以在方法名,參數(shù)列表,,返回類型(除過子類中方法的返回值是父類中方法返回值的子類時)都相同的情況下,, 對方法體進(jìn)行修改或重寫,這就是重寫,。但要注意子類函數(shù)的訪問修飾權(quán)限不能少于父類的,。

public class Father {

    public static void main(String[] args) 
        Son s = new Son();
        s.sayHello();
    }

    public void sayHello() {
        System.out.println("Father say Hello");
    }
}

class Son extends Father{
    //Son重寫了Father的 sayHello方法
    @Override
    public void sayHello() 
        System.out.println("Son say hello ");
    }

}

總結(jié):

1.發(fā)生在父類與子類之間 。

2.方法名,,參數(shù)列表,,返回類型(除過子類中方法的返回類型是父類中返回類型的子類)必須相同。

3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private) ,。

4.重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常,。

「方法的重載(Overload)」

Java中允許同一個類中可以定義多個同名方法,,只要形參列表(方法入?yún)ⅲ┎煌托小H绻粋€類種包含了兩個或者多個以上方法的名稱相同,,但是形參列表不同,,則被稱之為方法重載。

在一個類中,,同名的方法如果有不同的參數(shù)列表(參數(shù)類型不同,、參數(shù)個數(shù)不同甚至是參數(shù)順序不同)則視為重載。同時,,重載對返回類型沒有要求,,可以相同也可以不同,但不能通過返回類型是否相同來判斷重載,。

public class Father {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Father s = new Father();
        s.sayHello();
        s.sayHello("wintershii");

    }

    public void sayHello() {
        System.out.println("Hello");
    }

    public void sayHello(String name) {
        System.out.println("Hello" + " " + name);
    }
    
    public void sayHello(Long userId, String name) {
        sayHello("Hello" + " " + name);
    }
}

總結(jié):

方法重載要求兩同一不同:

1.同一個類中,。

2.方法名相同。

3.參數(shù)列表不相同,。

方法返回值,、修飾符,與方法重載沒有任何關(guān)系,。

不推薦使用以下方式:

public void sayHello(String name){

}
public void sayHello(String... name){

}

因?yàn)檫@么做實(shí)在是沒有太大的意義,,并且容易降低程序的可讀性。

總結(jié)

本文分享了三道入門級面試題,,你都能回答上來嗎,?你回答都是背的嗎還是自己真正理解的?

「稍微認(rèn)真點(diǎn),、踏實(shí)點(diǎn),、努力點(diǎn),,發(fā)光是遲早的事」

《Spring Cloud微服務(wù)實(shí)戰(zhàn)》.pdf
面試官:說說你對序列化的理解
JVM真香系列:堆內(nèi)存詳解

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多