免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Java校招筆試題-Java基礎(chǔ)部分(三)

導(dǎo)語(yǔ)
??Java 面試題集2021版

Java基礎(chǔ)部分三



26、說(shuō)說(shuō)has a 與is a的區(qū)別

??is-a表示的是屬于的關(guān)系,也就是說(shuō)馬是屬于動(dòng)物的一種表示的是一種繼承的關(guān)系。
??has-a 表示的是包含的關(guān)系,例如一匹馬有一個(gè)頭,四條腿,等,表示的是關(guān)聯(lián)聚合的一種關(guān)系。

27、一個(gè)房間里有一把椅子,椅子有四條腿,房子和椅子是什么關(guān)系,椅子和椅子腿是什么關(guān)系?

??如果房子里有多個(gè)椅子,就是聚集的關(guān)系,否則則是一種關(guān)聯(lián)關(guān)系也就是一一對(duì)應(yīng)的,椅子與椅子腿應(yīng)該是一種聚合關(guān)系。

28、什么是參數(shù)?參數(shù)化的意義是什么?

??參數(shù)就是用來(lái)代替一個(gè)數(shù)的未知數(shù),參數(shù)表示的就是一符號(hào),沒(méi)有實(shí)際意義,要讓它有實(shí)際的意義,就給對(duì)應(yīng)的參數(shù)賦值就可以。例如定義一個(gè)方法來(lái)計(jì)算兩個(gè)數(shù)字的和,那么該方法就必須要有兩個(gè)參數(shù)來(lái)標(biāo)識(shí)兩個(gè)加數(shù),但是只有當(dāng)調(diào)用該方法時(shí),給該方法的兩個(gè)參數(shù)賦值后才能執(zhí)行該方法,例如int add(int a,int b) 方法,只有調(diào)用的時(shí)候使用具體的數(shù)字代替ab兩個(gè)參數(shù)之后才能執(zhí)行并獲取到最終的結(jié)果。

??參數(shù)化的意義:在數(shù)據(jù)庫(kù)調(diào)用的過(guò)程中,參數(shù)化能有效的防止注入式的攻擊,在程序方法中,參數(shù)化能避免泄漏程序的運(yùn)行機(jī)制與原理,同時(shí)也降低了方法的冗余度,提到代碼的可讀性。

29、構(gòu)造器Constructor(構(gòu)造方法)是否可被override重寫(xiě)

??在之前的問(wèn)題中提到過(guò)override與overload的區(qū)別,對(duì)于override來(lái)說(shuō)就是通過(guò)繼承的方式來(lái)修改某個(gè)類(lèi)的某個(gè)方法,但是構(gòu)造器方法不能被繼承,所以不能被重寫(xiě),但是構(gòu)造器可以通過(guò)參數(shù)列表的不同實(shí)現(xiàn)重載。

30、接口是否可以繼承接口?抽象類(lèi)是否可實(shí)現(xiàn)接口?抽象類(lèi)是否已可以繼承具體的某個(gè)類(lèi)?抽象類(lèi)中是否可有靜態(tài)的Main方法?

??接口是可以繼承接口,抽象類(lèi)可以實(shí)現(xiàn)接口,抽象類(lèi)可以繼承具體的類(lèi)。抽象類(lèi)中可以有main方法。
??只要明白了接口和抽象類(lèi)的本質(zhì)和作用,這些問(wèn)題都是可以分析的,當(dāng)然有一點(diǎn)需要記住,抽象類(lèi)與普通類(lèi)的唯一區(qū)別就是不能創(chuàng)建實(shí)例對(duì)象和允許有abstract方法。

31、面向?qū)ο蟮奶卣饔心男┓矫?/h2>

??計(jì)算機(jī)軟件系統(tǒng)是現(xiàn)實(shí)生活的業(yè)務(wù)在計(jì)算機(jī)中的映射,而在現(xiàn)實(shí)生活中的業(yè)務(wù)其實(shí)就是一個(gè)個(gè)對(duì)象協(xié)作的過(guò)程,面向?qū)ο笞兂删褪前磳?shí)現(xiàn)的業(yè)務(wù)一樣的方式將程序代碼按一個(gè)個(gè)對(duì)象進(jìn)行組織和編寫(xiě),為了能上吉斯算計(jì)能夠識(shí)別和理解用對(duì)象的方式組織和編寫(xiě)程序代碼,這樣就可以把現(xiàn)實(shí)生活中的業(yè)務(wù)對(duì)象映射到計(jì)算機(jī)系統(tǒng)中。

??面向?qū)ο蟮木幊陶Z(yǔ)言有繼承、封裝、多態(tài)三個(gè)基本特征。

1、封裝
??封裝是保證軟件部件具有優(yōu)良的模塊性基礎(chǔ),封裝的目標(biāo)就是要實(shí)現(xiàn)軟件部件的“高內(nèi)聚,低耦合”,防止程序相互依賴性帶來(lái)的變動(dòng)影響。在面向?qū)ο蟮木幊陶Z(yǔ)言中,對(duì)象是封裝的基本單位,面向?qū)ο蟮姆庋b比傳統(tǒng)語(yǔ)言的封裝更為清晰,更為有力。面向?qū)ο蟮姆庋b就是把描述一個(gè)對(duì)象的屬性和行為的代碼封裝在一個(gè)模塊中,也就是一個(gè)類(lèi)中,屬性用變量的方式定義,行為用方法的方式進(jìn)行定義,方法可以直接訪問(wèn)同一個(gè)對(duì)象中的屬性。
2、繼承
??在定義和實(shí)現(xiàn)一個(gè)類(lèi)的時(shí)候,可以在一個(gè)已經(jīng)存在的類(lèi)的基礎(chǔ)上來(lái)進(jìn)行,把這個(gè)已經(jīng)存在的類(lèi)所定義的內(nèi)容作為自己的內(nèi)容,并可以加入若干的新內(nèi)容,或者修改原來(lái)的方法使之更適合特殊的需要,這就是繼承。繼承是子類(lèi)自動(dòng)共享父類(lèi)數(shù)據(jù)和方法的機(jī)制,這是兩個(gè)類(lèi)之間的一種關(guān)系,使用這種方式來(lái)實(shí)現(xiàn)的軟件的可重用性和可擴(kuò)展性。
3、多態(tài)
??多態(tài)是指程序中定義的引用變量所指向的具體類(lèi)型和通過(guò)該引用變量發(fā)出的方法調(diào)用在編程的時(shí)候的不確定性,而在程序運(yùn)行的過(guò)程中才能進(jìn)行確定,即一個(gè)引用變量到底會(huì)指向那個(gè)實(shí)力對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是那個(gè)類(lèi)中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定。因?yàn)樵诔绦蜻\(yùn)行的時(shí)候才能產(chǎn)生具體的類(lèi),這樣就可以不用修改源代碼,流可以讓引用變量綁定到各種不同的實(shí)現(xiàn)類(lèi)上,這樣就可以引用到具體的方法上,即不修改程序代碼就可以改變程序運(yùn)行時(shí)所綁定的具體代碼,讓程序可以選擇多個(gè)運(yùn)行狀態(tài),這個(gè)就是多態(tài)性。多態(tài)性增強(qiáng)了軟件的靈活性和擴(kuò)展性。

32、說(shuō)出常用的類(lèi),包,接口,請(qǐng)各舉五個(gè)

類(lèi)

  • 1.java.lang.Object

  • 2.java.lang.String

  • 3.java.lang.System

  • 4.java.io.file

  • 5.java.io.FileInputStream

  • 1.java.lang

  • 2.java.io

  • 3.java.awt

  • 4.java.util

  • 5.java.sql

接口

  • 1.java.util.List

  • 2.java.util.Map

  • 3.java.util.Iterator

  • 4.java.sql.CallableStatemtent

  • 5.java.lang.Comparable

33、寫(xiě)出JDK中至少5個(gè)以上的包名。

  • 1、java.lang 包:Java的核心類(lèi)庫(kù),包含了運(yùn)行Java程序必不可少的系統(tǒng)類(lèi),如基本數(shù)據(jù)類(lèi)型,基本數(shù)學(xué)函數(shù),字符串處理、線程、異常處理類(lèi)等等,系統(tǒng)缺省加載這個(gè)包。

  • 2、java.io 包:Java 語(yǔ)言的標(biāo)準(zhǔn)輸入/輸出類(lèi)庫(kù),如基本輸入/輸出流、文件輸入/輸出、過(guò)濾輸出入/輸出流等等

  • 3、java.util包:包含處理時(shí)間date類(lèi),處理編程數(shù)組的Vector類(lèi),以及stack和HashTable類(lèi)

  • 4、java.lang.reflect包:提供用于反射對(duì)象的工具類(lèi)包

  • 5、java.net 包:實(shí)現(xiàn)網(wǎng)絡(luò)功能的類(lèi)庫(kù)有Socket類(lèi)。ServerSocket類(lèi)

  • 6、java.sql 包:提供使用Java編程語(yǔ)言訪問(wèn)并處理存儲(chǔ)在數(shù)據(jù)源(通常是一個(gè)關(guān)系數(shù)據(jù)庫(kù))中的數(shù)據(jù)的API

  • 7、java.awt 包:構(gòu)建圖形用戶界面GUI的類(lèi)庫(kù),低級(jí)繪圖操作Graphics類(lèi),圖形界面組件和布局管理等,例如CheckBox類(lèi)、等,以及界面用戶控制和事件響應(yīng)等等。

34、Java 中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?

??Java中實(shí)現(xiàn)多態(tài)是靠父類(lèi)或者接口定義的引用變量可以指向子類(lèi)或者具體實(shí)現(xiàn)類(lèi)的實(shí)例對(duì)象,而程序調(diào)用方法在運(yùn)行期才動(dòng)態(tài)綁定,就是引用變量所指向的具體實(shí)例對(duì)象的方法,也就是內(nèi)存里正在運(yùn)行的那個(gè)對(duì)象的方法,而不是引用變量的類(lèi)型中定義的方法。

35、abstract class 和 interface 有什么區(qū)別

??Java中含有abstract修飾符的class即為抽象類(lèi),abstract類(lèi)不能創(chuàng)建實(shí)例對(duì)象。含有abstract方法的類(lèi)必須定位為abstract class,abstract class 類(lèi)中的方法不必是抽象的。 abstract class類(lèi)中定義抽象方法必須在具體(Concrete)子類(lèi)中實(shí)現(xiàn),所以不能有抽象方法或者抽象靜態(tài)方法。如果子類(lèi)中沒(méi)有實(shí)現(xiàn)父類(lèi)中的抽象方法,那么子類(lèi)必須定義為abstract類(lèi)型。
??接口(interface) 可以說(shuō)成是抽象類(lèi)型的一種特例,接口中的所有方法都必須是抽象的。接口中的方法定義默認(rèn)為public abstract 類(lèi)型,接口中的成員變量類(lèi)型默認(rèn)為public static final 。

??比較兩者的語(yǔ)法區(qū)別:

  • 1、抽象類(lèi)可以有構(gòu)造方法,接口中不能有構(gòu)造方法。

  • 2、抽象類(lèi)中可以有普通成員變量,接口中沒(méi)有普通成員變量

  • 3、抽象類(lèi)中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。

  • 4、抽象類(lèi)中的抽象方法的訪問(wèn)類(lèi)型可以是public ,protected和默認(rèn)作用域,但接口中的抽象方法只能是public類(lèi)型,并且默認(rèn)即為public abstract類(lèi)型。

  • 5、抽象類(lèi)中可以包含靜態(tài)方法,接口中不能包含靜態(tài)方法

  • 6、抽象類(lèi)和接口中都可以包含靜態(tài)成員變量,抽象類(lèi)中的靜態(tài)成員變量的訪問(wèn)類(lèi)型可以任意,但接口中定義的變量只能是public static final 類(lèi)型,并且默認(rèn)就是 public static final 類(lèi)型。

  • 7、一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類(lèi)。

36、Java 的接口和C 虛類(lèi)的相同和不同之處

??C 虛類(lèi)相當(dāng)于Java中的抽象類(lèi),與接口的不同之處如下

  • 1、一個(gè)子類(lèi)只能繼承一個(gè)抽象類(lèi),但能實(shí)現(xiàn)多個(gè)接口

  • 2、一個(gè)抽象類(lèi)可以有構(gòu)造方法,接口沒(méi)有構(gòu)造方法

  • 3、一個(gè)抽象類(lèi)中的方法不一定是抽象方法,即其中的方法可以有實(shí)現(xiàn),接口中的方法都是抽象方法,不能有方法體,只有方法聲明

  • 4、一個(gè)抽象類(lèi)可以是public、private、protected、default 接口只有public

  • 5、一個(gè)抽象類(lèi)中的方法可以是public、private、protected、default,接口中的方法只能是public和default修飾,實(shí)現(xiàn)上都是public 的abstract方法。

相同之處:都不能進(jìn)行實(shí)例化對(duì)象。

來(lái)源:https://www.icode9.com/content-1-891751.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
總結(jié)下java中abstract,interface,final,static,加深理解
幫你快速了解Java抽象類(lèi)、接口和多態(tài)
在java中,什么是接口,接口的特點(diǎn)是什么?
Java面試寶典2015版(絕對(duì)值得收藏超長(zhǎng)版)(一)
學(xué)習(xí)Java的筆記(3)
java 接口理解(2)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服