小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java校招筆試題-Java基礎(chǔ)部分(三)

 印度阿三17 2021-03-15

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

Java基礎(chǔ)部分三



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

32、說出常用的類,包,接口,請各舉五個

  • 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、寫出JDK中至少5個以上的包名。

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

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

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

  • 4、java.lang.reflect包:提供用于反射對象的工具類包

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

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

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

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

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

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

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

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

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

  • 2、抽象類中可以有普通成員變量,接口中沒有普通成員變量

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

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

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

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

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

36、Java 的接口和C 虛類的相同和不同之處

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

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

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

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

  • 4、一個抽象類可以是public、private、protected、default 接口只有public

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

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

來源:https://www./content-1-891751.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多