基礎(chǔ)階段測(cè)試含答案_第1頁
基礎(chǔ)階段測(cè)試含答案_第2頁
基礎(chǔ)階段測(cè)試含答案_第3頁
基礎(chǔ)階段測(cè)試含答案_第4頁
基礎(chǔ)階段測(cè)試含答案_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Java基礎(chǔ)階段測(cè)試一 一、 選擇題:(20分)1、下列敘述中,正確的是:( )A聲明變量時(shí)必須指定一個(gè)類型 B、Java認(rèn)為變量number和Number相同C、Java中唯一的注釋方式是“/”D、源文件中public類可以有0或多個(gè) 2、在switch(expression)語句中,expression的數(shù)據(jù)類型不能是:AA、doubleB、charC、byteD、short3、已知int a =new int100;,在下列給出的數(shù)組元素中,非法的是:DA、a0B、a1C、a99D、a1004、下列語句序列執(zhí)行后,x 的值是( A )。int a=3, b=4, x=5;if( +a&l

2、t;b ) x=x+1;A、 5 B、 3 C、 4 D、 65、設(shè) x,y 均為已定義的類名,下列聲明對(duì)象x1的語句中正確的是( C )。A、 public x x1= new y( ); B、 x x1=x( ); C、 x x1=new x( ); D、 int x x1;6、有一個(gè)類A,以下為其構(gòu)造函數(shù)的聲明,其中正確的是(B)。A、void A(int x). B、A(int x).C、a(int x). D、void a(int x).7Java語言的類間的繼承關(guān)系是( B)。A、 多重的 B、 單繼承 C、 線程的 D、不能繼承 8、下面說法正確的是( A)。A、final 可修

3、飾類、屬性、方法。B、abstract可修飾類、屬性、方法。abstract可修飾類、方法。C、定義抽象方法需有方法的返回類型、名稱、參數(shù)列表和方法體(沒有方法體)。D、用final修飾的變量(常量),在程序中可對(duì)這個(gè)變量的值進(jìn)行更改。9、對(duì)于下列代碼:1) class Person 2) public void printValue(int i, int j) /. 3) public void printValue(int i)/. 4) 5) public class Teacher extends Person 6) public void printValue() /. 7) pub

4、lic void printValue(int i) /. 8) public static void main(String args) 9) Person t = new Teacher();/賦值兼容規(guī)則10) t.printValue(10); 11) 第10行語句將調(diào)用哪行語句?( D )A、 line2 B、 line3 C、 line 6 D、 line 710下面關(guān)于java中類的說法哪個(gè)是不正確的( c )A、類體中只能有變量定義和成員方法的定義,不能有其他語句。B、構(gòu)造函數(shù)是類中的特殊方法。C、類一定要聲明為public的,才可以執(zhí)行。D、一個(gè)java文件中可以有多個(gè)cla

5、ss定義(但只能有一個(gè)Public修飾的類)。 11、給出一段程序,選擇運(yùn)行結(jié)果( )public class sss public static void main(String args) String s1=args1; String s2=args2; String s3=args3; String s4=args4; System.out.println(“args2=”+s2);命令行執(zhí)行: java sss 1 2 3 4 結(jié)果是下面哪一個(gè)?A、args2=2B、args2=nullC、args2=1D、運(yùn)行出現(xiàn)異常 12、下面的是關(guān)于類及其修飾符的一些描述,正確的是:( )。

6、A、abstract類只能用來派生子類,不能用來創(chuàng)建abstract類的對(duì)象(可以用賦值兼容規(guī)則 )。 B、final類不但可以用來派生子類,也可以用來創(chuàng)建final類的對(duì)象。 C、abstract不能與final同時(shí)修飾一個(gè)類。 D、abstract方法必須在abstract類中聲明,但abstract類定義中可以沒有abstract方法。13、下列關(guān)于靜態(tài)初始化器的敘述中,哪一個(gè)是正確的?( ) A、靜態(tài)初始化器是在構(gòu)造函數(shù)之前加上static修飾符。 B、靜態(tài)初始化器是對(duì)類自身進(jìn)行初始化。 C、靜態(tài)初始化器在同一個(gè)類中只能有一個(gè)。 D、靜態(tài)初始化器是在其所屬的類加載內(nèi)存時(shí)由系統(tǒng)

7、自動(dòng)調(diào)用執(zhí)行。 14、編譯并運(yùn)行下面的程序,運(yùn)行結(jié)果為().public class T1 public static void main (String args)T1 a=new T1();a.method(8);a.method(1.2f);void method(float i) System.out.println("float: "+i);void method(long i) System.out.println("long: "+i);A、程序有編譯錯(cuò)誤,因?yàn)閮蓚€(gè)method()方法必須定義為靜態(tài)(static)的。B、程序可以編譯運(yùn)行,

8、輸出結(jié)果為:long: 8float: 1.2C、程序可以編譯運(yùn)行,輸出結(jié)果為:float: 1.2long: 8D、 程序中定義的兩個(gè)參數(shù)不同的method方法稱為方法重栽。15、編譯并運(yùn)行下面的程序,運(yùn)行結(jié)果為( ).public class A public static void main (String args) A a=new B( ); a.test(); void test()  System.out.print ("A"); class B extends A void test() super.test(); System.out.

9、println("B"); A、子類B定義了與父類A中同名的方法test,java中稱為方法的覆蓋。B、代碼可以編譯運(yùn)行,并輸出結(jié)果:ABC、代碼可以編譯運(yùn)行,并輸出結(jié)果:A。D、子類B定義了與父類A中同名的方法test,java中稱為方法的重載 16、下面哪個(gè)說法正確( ) A、如果某公共的接口被聲明在一個(gè)源文件中,則接口必須與源文件具有相同的名字。B、如果源文件包含import語句,則該語句必須是除空行和注釋行外的第一個(gè)語句行。C、如果某源文件包含package語句,則該語句必須是第一個(gè)非空、非注釋行。 D、接口中的方法必定是抽象方法,但可以不用關(guān)鍵字abstract修

10、飾。17、類的設(shè)計(jì)要求它的某個(gè)成員變量不能被外部類直接訪問。應(yīng)該使用下面的哪些修飾符獲得需要的訪問控制? A、 public B、no modifier C、 protected(權(quán)限僅次于public) D、 private18、哪些返回true ? 多選String s= "hello"String t = "hello"char c = 'h','e','l','l','o' ;A、s.equals(t);B、 t.equals(c);C、 s=t;D、t.equals

11、(new String("hello");E、 t=c.19、類Teacher和Student都是類Person的子類Person p;Teacher t;Student s;p, t and s are all non-null.if(t instanceof Person) s = (Student)t; 這個(gè)語句導(dǎo)致的結(jié)果是什么?A、將構(gòu)造一個(gè)Student對(duì)象。B、表達(dá)式合法。C、編譯時(shí)非法。 D、編譯時(shí)合法而在運(yùn)行時(shí)可能非法。20、給出下面的代碼: class Person String name,department; public void printValu

12、e() System.out.println("name is "+name); System.out.println("department is "+department); public class Teacher extends Person int salary; public void printValue() / doing the same as in the parent method printValue() / including print the value of name and department. System.out.

13、println("salary is "+salary); 下面的哪些表達(dá)式可以加入printValue()方法的"doing the same as."部分? A、 printValue(); B、this.printValue(); C、 person.printValue(); D、super.printValue().二、簡答題:(48分)1、簡答方法的OverLoading和Overriding區(qū)別。(筆試題)(1)OverLoading:方法重載 是指方法名相同,參數(shù)類型及參數(shù)個(gè)數(shù)不同的一組方法,在調(diào)用是根據(jù)傳入?yún)?shù)不同調(diào)用同名的不同方法(2

14、)Overriding:方法重寫 是指子類繼承父類時(shí),在子類中定義與父類返回值類型相同、方法名相同、參數(shù)列表相同,子類訪問權(quán)限大于或等于父類,如果有異常,子類拋出的異常小于或等于父類的。但是方法體不同的方法2、簡答Java實(shí)現(xiàn)動(dòng)態(tài)多態(tài)的手段。(1)多態(tài):相同的消息被不同的對(duì)象接受,產(chǎn)生不同的行為結(jié)果。相同的消息是指同名方法調(diào)用。(2)動(dòng)態(tài)多態(tài)實(shí)現(xiàn)的方式:通過抽象類或者是借口中定義的抽象方法,然后由子類或者接口的實(shí)現(xiàn)類實(shí)現(xiàn)后,并使用兼容復(fù)制規(guī)則,實(shí)現(xiàn)子類或者實(shí)現(xiàn)類方法的動(dòng)態(tài)調(diào)用(1)定義抽象父類,在父類中定義抽象的方法; 父類被不同的子類繼承時(shí),子類重寫父類定義的抽象方法;(2)定義不同類共有方

15、法的接口,在類實(shí)現(xiàn)時(shí)實(shí)現(xiàn)接口。3、簡答this和super的用法。(1)this用在構(gòu)造方法中第一條語句,形如this(參數(shù)列表)表示對(duì)本類其他構(gòu)造方法的調(diào)用,用在非靜態(tài)的成員方法中使用形如this。成員名表示對(duì)本類成員的調(diào)用。(2)super出現(xiàn)在子類構(gòu)造方法的第一行,形如super.(參數(shù)列表)表示對(duì)付類構(gòu)造方法的調(diào)用,在子類方法中形如super.成員名,表示對(duì)被子類覆蓋的父類成員的調(diào)用(1)this 表示對(duì)本類成員和方法的引用(2)super表示對(duì)父類方法的調(diào)用,必須在方法體的第一行4、簡答抽象類和接口的區(qū)別。(1)抽象類處于類族中的頂層,提供允許子類繼承的機(jī)制,可以定義抽象方法和非抽象

16、方法,也可以定義構(gòu)造方法和其他的成員變量,也可以定義常量,抽象類不能實(shí)例化。(2)接口定義了類的共同行為,這些行為方法都是抽象的,接口中不能定義非抽象方法和成員變量,接口允許多繼承,按照功能,接口可以非為三類:普通接口,常量群接口和標(biāo)記性接口(系統(tǒng)定義使用),接口不能實(shí)例化。(1)抽象類是對(duì)具有相同屬性和行為的一組對(duì)象的高度概括,是一個(gè)高度概括的父類(2)接口是對(duì)具有相同行為的一組對(duì)象的概括,這對(duì)對(duì)象可能繼承與一個(gè)父類,也可以繼承不同的父類5、 簡述類族中構(gòu)造方法的定義和調(diào)用次序。(1) 構(gòu)造方法:方法名和類名相同,沒有返回值類型(2) 父類如何定義構(gòu)造方法:父類如果定義了帶參數(shù)的構(gòu)造方法一般

17、需要定義無參構(gòu)造(3) 子類如何定義構(gòu)造方法:子類定義構(gòu)造方法可以調(diào)用本類的其他構(gòu)造方法,也可以調(diào)用父類的構(gòu)造方法(4) 調(diào)用次序:首先指向弗雷的構(gòu)造方法之后在定義本類的構(gòu)造方法class AA()class B entends AB()class C extends BC()在創(chuàng)建C類對(duì)象調(diào)用構(gòu)造方法時(shí):先到用Object類的構(gòu)造方法 在調(diào)用A類的構(gòu)造方法,然后調(diào)用B類的構(gòu)造方法、最后調(diào)用C類的構(gòu)造方法6、 如何定義包、和使用包中的定義,使用時(shí)應(yīng)該注意哪些事項(xiàng)。定義包時(shí)包必須方在類的最上面第一行,包名必須小寫,多級(jí)包之間用“.”間隔一般定義格式:公司域名的倒置.模塊名定義包的語法:packa

18、ge 包名;Import 包名.*;包名.類名Java中不能隔包導(dǎo)入。Java。lang中定義的接口和類使用時(shí)不用導(dǎo)包三、編程題: 1、求1!+2!+3!+10!(12分)public class T1 public static void main(String args) int s = 1;int sum = 0;for (int i = 1; i <= 10; i+) s *= i;sum += s;System.out.println("1!+2!+3!.+10!=" + sum);2、定義一個(gè)類,完成一個(gè)動(dòng)態(tài)數(shù)組,可以存取任意類型的對(duì)象,當(dāng)數(shù)組空間全部存進(jìn)元素,空間應(yīng)擴(kuò)大原來的一半。(20分)import java.util.Arrays;public class Array_Obj private static int count = 0;private Object obj = new Object5;public Array_Obj() public Object getObj() return obj;public void add

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論