java程序設(shè)計(jì)試題庫(kù)_第1頁(yè)
java程序設(shè)計(jì)試題庫(kù)_第2頁(yè)
java程序設(shè)計(jì)試題庫(kù)_第3頁(yè)
java程序設(shè)計(jì)試題庫(kù)_第4頁(yè)
java程序設(shè)計(jì)試題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩123頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程》

練習(xí)思索題參考答案

第1章Java程序設(shè)計(jì)概述

1.1單項(xiàng)選擇題

1.編譯JavaApplication源文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,擴(kuò)展名是什

A..javaB..class

C..htmlD..exe

解答:B

2.Java語(yǔ)言具有許多優(yōu)點(diǎn)和特點(diǎn),下列選項(xiàng)中,哪個(gè)反映了Java中“一

次編譯,隨處運(yùn)行”的特點(diǎn)。

A.簡(jiǎn)潔性B.平臺(tái)無(wú)關(guān)性

C.面對(duì)對(duì)象性D.平安性

解答:B

3.Java語(yǔ)言具有許多優(yōu)點(diǎn)和特點(diǎn),下列選項(xiàng)中,哪個(gè)反映了Java中并

行機(jī)制的特點(diǎn)。

A.多線程B.平臺(tái)無(wú)關(guān)性

C.面對(duì)對(duì)象性D.平安性

解答:A

4.在Java語(yǔ)言中,下列哪些語(yǔ)句關(guān)于內(nèi)存回收的說(shuō)明是正確的?

A.程序員必需創(chuàng)建一個(gè)線程來(lái)釋放內(nèi)存;

B.內(nèi)存回收程序負(fù)責(zé)釋放無(wú)用內(nèi)存;

C.內(nèi)存回收程序允許程序員干脆釋放內(nèi)存;

D.內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象

解答:B

5.一個(gè)Java源文件中最多只能有多少個(gè)public類。

A.1個(gè)B.2個(gè)

C.3個(gè)D.隨意多個(gè)

解答:A

6.下面哪一個(gè)不是Java語(yǔ)言所具有的特點(diǎn)。

A.沒(méi)有全局變量,在類的定義外部沒(méi)有任何的變量定義;

B.不干脆支持指針操作,而運(yùn)用更平安的引用類型;

C.支持子類對(duì)父類的多繼承;

D.具有自動(dòng)垃圾收集功能;

解答:C

7.下面哪一個(gè)不是Java開(kāi)發(fā)工具包JDK的組成部分。

A.Java的編譯器;

B.Java的說(shuō)明器;

C.Java的API繼承類庫(kù);

D.Eclipse開(kāi)發(fā)工具;

解答:C

8.JDK供應(yīng)的編譯器是()o

A.java.exeB.javac.exe

C.javap.exeD.javaw.exe

解答:B

9.作為Java應(yīng)用程序入口的main方法,其聲明格式可以是()

A.publicvoidmain(String[]args)

B.publicstaticvoidmain(String[]args)

C.publicstaticvoidMain(String*args)

D.publicintmain(String[]args)

解答:B

10.下列說(shuō)法正確的是(A)

A、JAVA程序的main方法必需寫在類里面

B、JAVA程序中可以有多個(gè)main方法

C、JAVA程序中類名必需與文件名一樣

D、JAVA程序的main方法中假如只有一條語(yǔ)句,可以不用{}(大括號(hào))

括起來(lái)

11.下列哪些語(yǔ)句關(guān)于Java內(nèi)存回收的說(shuō)明是正確的?(B)

A、程序員必需創(chuàng)建一個(gè)線程來(lái)釋放內(nèi)存

B、內(nèi)存回收程序負(fù)責(zé)釋放無(wú)用內(nèi)存

C、內(nèi)存回收程序允許程序員干脆釋放內(nèi)存

D、內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象

1.2填空題

1、開(kāi)發(fā)與運(yùn)行Java程序須要經(jīng)過(guò)的三個(gè)主要步驟為、

和O

解答:編輯源程序、編譯生成字節(jié)碼和說(shuō)明運(yùn)行字節(jié)碼

2、運(yùn)用Java編譯器—javac—.exe編譯源文件得到字節(jié)碼文件。

3、Java應(yīng)用程序必需通過(guò)Java說(shuō)明器_JAVA_.exe來(lái)說(shuō)明執(zhí)行

其字節(jié)碼文件。

4、假如Java源文件中有一個(gè)類是public類,那么源文件的名字必

需與這個(gè)類的名字完全.相同,擴(kuò)展名是.javao

5、Java應(yīng)用程序總是從主類的—main—方法起先執(zhí)行.

1.3簡(jiǎn)答題

13.簡(jiǎn)述Java程序的開(kāi)發(fā)過(guò)程?

(1)運(yùn)用一個(gè)文字編輯器,編寫源文件。(2)運(yùn)用java編譯器,編

譯源文件得到字節(jié)碼文件。

(3)說(shuō)明運(yùn)行字節(jié)碼,分兩種java應(yīng)用程序必需通過(guò)java說(shuō)明器來(lái)說(shuō)

明執(zhí)行,java小應(yīng)用程序必需運(yùn)用說(shuō)明器和閱讀器運(yùn)行程序。

1.什么是Java虛擬機(jī)?為什么Java被稱作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)

言”?

解答:

Java虛擬機(jī)是一個(gè)可以執(zhí)行Java字節(jié)碼的虛擬機(jī)進(jìn)程。Java源文

件被編譯成能被Java虛擬機(jī)執(zhí)行的字節(jié)碼文件。

Java被設(shè)計(jì)成允許應(yīng)用程序可以運(yùn)行在隨意的平臺(tái),而不須要程序員

為每一個(gè)平臺(tái)單獨(dú)重寫或者是重新編譯。Java虛擬機(jī)讓這個(gè)變?yōu)榭赡埽?/p>

因?yàn)樗赖讓佑布脚_(tái)的指令長(zhǎng)度和其他特性。

3.Java語(yǔ)言的關(guān)鍵特點(diǎn)有哪些?

解答:

簡(jiǎn)潔性

平臺(tái)無(wú)關(guān)性

面對(duì)對(duì)象性

平安性

分布式

多線程

動(dòng)態(tài)性

1.4綜合題

第2章Java基本的程序設(shè)計(jì)結(jié)構(gòu)

2.1單項(xiàng)選擇題

1、下面哪一項(xiàng)在java中是非法的標(biāo)識(shí)符?()

A.$user

B.point

C.You&me

D.endline

解答:C

2、若有定義inta=9,b=6;那么a>b的值是:()

A.0B.1

C.falseD.true

解答:D

3、執(zhí)行完以下代碼int口x=newint[25];后,以下說(shuō)明正確的是:

)

A.x[24]為0B.x[24床定義

C.x[25]為0D.x[0]為空

解答:A

4、Java應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是

)o

int[]X={2,3,-8,7,9};

intmax=x[O];

for(inti=1;i<x.length;i++){

if(x[i]>max)

max=x[i];

System,out.println(max);

A.2B.-8

C.7D.9

解答:D

5、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z----/++x的值是

)

A.3B.3.5

C.4D.5

解答:A

5、執(zhí)行System.out.printing/4),這條代碼的輸出結(jié)果是()

A.1B.1.25

C.1.5D.0

解答:A

6、下列語(yǔ)句有錯(cuò)誤的是:()

A.int[]a;B.int[]b=newint[10];

C.intc[]=newint[];D.intd[]=null;

解答:C

7、下列語(yǔ)句有錯(cuò)誤的是:()

A.inta[][]=newint[5][5];B.int[][]b=newint[5][5];

C.int[]c[]=newint[5][5];D.int[][]d=newint[5,5];

解答:D

8、下列哪一個(gè)不屬于Java中的8種基本數(shù)據(jù)類型()

A.double;B.char;

C.int;D.String;

解答:D

9、以下數(shù)據(jù)類型存儲(chǔ)空間最大的是()o

(A)byte(B)long(C)float(D)char

解答:B

10^System.out.println("5"+2);的輸出結(jié)果應(yīng)當(dāng)是()。

A52B7

C2D5

答案:A

11.在類的定義中可以有兩個(gè)同名方法,每個(gè)方法的參數(shù)不同,這種

現(xiàn)象稱為方法(D)o

(A)封裝(B)繼承(C)覆蓋(D)重載

12.java中定義字符串Strings="pzhu",下面操作可以取得字符

串長(zhǎng)度的是()o

A.s.lengthQB.s.lengthC.s.sizeQD.

length(s)

解答:A

13.指出下列程序運(yùn)行的結(jié)果(B)(很難)

publicclassExample{

Stringstr=newStringC'good");

char[]ch={'a','b','c');

publicstaticvoidmain(Stringargs[]){

Exampleex=newExampleQ;

ex.change(ex.str,ex.ch);

System.out.print(ex.str+"and");

System.out.print(ex.ch);

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[O]='g';

A、goodandabc

B、goodandgbc

C、testokandabc

D、testokandgbc

14.下面代碼的運(yùn)行結(jié)果為:(C)(較難)

importjava.io.*;

importjava.util.*;

publicclassfoo{

publicstaticvoidmain(String[]args){

Strings;

System.out.printin("s="+s);

A代碼得到編譯,并輸出“s=”

B代碼得到編譯,并輸出<<s=nuir,

C由于Strings沒(méi)有初始化,代碼不能編譯通過(guò)

D代碼得到編譯,但捕獲到NullPointException

15.關(guān)于以下程序段,正確的說(shuō)法是(C)

1.Stringsl="abc"+"def";

2.Strings2=newString(si);

3.if(sl==s2)

4.System.out.println("==succeeded");

5.if(sl.equals(s2))

6.System.out.println(M.equals()succeeded");

A、行4與行6都將執(zhí)行

B、行4執(zhí)行,行6不執(zhí)行

C、行6執(zhí)行,行4不執(zhí)行

D、行4、行6都不執(zhí)行

16.Javaapplication中的主類需包含main方法,main方法的返

回類型是什么?(D)A、intB、float

C、doubleD、void

17.為一個(gè)boolean類型變量賦值時(shí),可以運(yùn)用(B)方式

A、boolean=1;

B、booleana=(9>=10);

C^booleana="真";

D、booleana==false;

18.表達(dá)式(ll+3*8)/4%3的值是(D)

A、31B、0C、ID、2

19.運(yùn)算符優(yōu)先級(jí)別排序正確的是(A)(太難)

A、由高向低分別是:()、!、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、

賦值運(yùn)算符;

B、由高向低分別是:()、關(guān)系運(yùn)算符、算術(shù)運(yùn)算符、賦值運(yùn)算符、!、

邏輯運(yùn)算符;

C、由高向低分別是:()、算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、!、

賦值運(yùn)算符;

D、由高向低分別是:()、!、關(guān)系運(yùn)算符、賦值運(yùn)算符、算術(shù)運(yùn)算符、

邏輯運(yùn)算符;

20.下列值不為true的表達(dá)式有(C)。

A、"john"=="john

B、"john".equals("john")

C、"john"="john"

D、"john".equals(newString("john"))

21、下面的方法,當(dāng)輸入為2的時(shí)候返回值是多少?(D)(很難)

publicstaticintgetValue(inti){

intresult=0;

switch(i){

case1:

result=result+i;

case2:

result=result+i*2;

case3:

result=result+i*3;

I

returnresult;

AOB2C4

DIO

答案:D

解析:留意這里case后面沒(méi)有加break,所以從case2起先始終往

下運(yùn)行。

22、下面有關(guān)for循環(huán)的描述正確的是(A)

A、for循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但要用大括號(hào)括起來(lái)

B、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的狀況

C、在for循環(huán)中,不能運(yùn)用break語(yǔ)句跳出循環(huán)

D、for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后進(jìn)行條件推斷

23、score是一個(gè)整數(shù)數(shù)組,有五個(gè)元素,已經(jīng)正確初始化并賦值,

細(xì)致閱讀下面代碼,程序運(yùn)行結(jié)果是(B)

temp=score[0];

for(intindex=1;index<5;index++){

if(score[index]<temp){

temp=score[index];

|

}

A.求最大數(shù)B.求最小數(shù)C.找到數(shù)組最終一個(gè)元素D.編譯出

錯(cuò)

26、

2.2填空題

1、Java語(yǔ)言是一種完全的.面對(duì)對(duì)象_程序設(shè)計(jì)語(yǔ)言

2、Strings1="China”;intn=sl.length();n的值為_(kāi)5—

3、在Java語(yǔ)言中,基本數(shù)據(jù)類型包括:—整數(shù)類型、—浮點(diǎn)類

型、__字符類型一和一布爾類型

17、在Java的基本數(shù)據(jù)類型中,char型接受Unicode編碼方案,

每個(gè)Unicode碼占用_2—字節(jié)內(nèi)存空間,這樣,無(wú)論是中文字符還是

英文字符,都是占用_2—字節(jié)內(nèi)存空間。

18、設(shè)x=2,則表達(dá)式(x++)/3的值是_0—。

20、設(shè)有數(shù)組定義:

intMyIntArray[]={10,20,30,40,50,60,70);

則執(zhí)行以下幾個(gè)語(yǔ)句后的輸出結(jié)果是:120o

intMyIntArray[]={10,20,30,40,50,60,70};

ints=0;

for(inti=0;i<MylntArray.length;i++)

if(i%2==1)

s+=MylntArray[i];

System.out.println(s);

21、數(shù)組對(duì)象的長(zhǎng)度在數(shù)組對(duì)象創(chuàng)建之后,就—不會(huì)—變更。數(shù)組

元素的下標(biāo)總是從一。一起先。

22、對(duì)于數(shù)組由用母={{1,2,3},{4,5,6}}來(lái)說(shuō),t.length等于_2—,

t[0].length等于_3o

2.3簡(jiǎn)答題

1、Java的基本數(shù)據(jù)類型有哪8種,每種類型的內(nèi)存空間分別是多少。

2.4綜合題

26、編程計(jì)算1。~2。的整數(shù)的平方值,將結(jié)果保存在一個(gè)數(shù)組中。

27、編寫一個(gè)程序使之從鍵盤讀入10個(gè)整數(shù)存入整型數(shù)組a中,并

輸出這10個(gè)整數(shù)的最大值和最小值。

importjava.util.Scanner;

publicclasslianxi30(

publicstaticvoidmain(Stringargs[]){

Scannertemp;

float[]sum=newfloat[11];

floatmax,min;

for(inti=0;i<10;i++){

System.outprintln("請(qǐng)輸入第一個(gè)數(shù)字(回車結(jié)束):");

temp=newScanner(System.zn);

Stringa=temp.nextLineQ;

sum[i]=Integer.parse/nda);//獲得輸入的字符串

}

max=sum[0];

min=sum[0];

for(intj=1;j<10;j++)

{

if(max<sum[j])

max=sum[j];

elseif(min>sum[j])

min=sum[j];

System.OLzAprintln(max);

System.OLZ^.println(min);

}

}

31、假如我國(guó)經(jīng)濟(jì)以每年10%的速度保持穩(wěn)定增長(zhǎng),請(qǐng)編寫一個(gè)程序,

計(jì)算每年達(dá)到多少,多少年可以實(shí)現(xiàn)總量翻兩番。

classexA4_l{

publicstaticvoidmain(Stringargs[]){

inta=0;

doublei=0.10,sum=l;

while(sum<=4){

sum=(i+l)*sum;

a++;

System.out.println("第"+a+"年達(dá)到"+sum);

System.out.printing須要"+a+"年實(shí)現(xiàn)兩番");

第3章類和對(duì)象

3.1單項(xiàng)選擇題

1、下列關(guān)于變量的敘述哪個(gè)是錯(cuò)的?()

A.實(shí)例變量是類的成員變量。

B.在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(chuàng)建。

C.實(shí)例變量用關(guān)鍵字static聲明。

D.局部變量在運(yùn)用前必需被初始化。

解答:C

2、在Java語(yǔ)言中,下列哪個(gè)包是編譯器自動(dòng)導(dǎo)入的?()

A.java.appletB.java.lang

C.java.ioD.java.awt

解答:B

6、不允許作為類與類成員的訪問(wèn)限制符的是()o

A.publicB.private

C.staticD.protected

解答:C

7、為AB類的一個(gè)無(wú)形式參數(shù)無(wú)返回值的方法method書寫方法頭,

使得運(yùn)用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為()o

A、staticvoidmethod()B、publicvoid

method()

C、finalvoidmethod()D、abstractvoid

method()

解答:A

8、可以在下面代碼段pointx處寫入的是?()

//pointx

publicclassInteresting(

//dosomething

}

A.Stringstr;

B.staticintPI=3.14;

C.publicclassMyClass{//dootherthing-

D.importjava.awt.*;

解答:D

9、Java供應(yīng)的許多類在不同的包中,運(yùn)用下面哪個(gè)語(yǔ)句可以引入包

中的類。

A.packageB.include

C.importD.add

解答:C

11、已知A類被打包在packageA,B類被打包在packageB,且B

類被聲明為public,且有一個(gè)成員變量x被聲明為protected限制方式。

C類也位于packageA包,且繼承了B類。則以下說(shuō)法正確的是:()

A、A類的實(shí)例不能訪問(wèn)到B類的實(shí)例

B、A類的實(shí)例能夠訪問(wèn)到B類一個(gè)實(shí)例的x成員

C、C類的實(shí)例可以訪問(wèn)到B類一個(gè)實(shí)例的x成員

D、C類的實(shí)例不能訪問(wèn)到B類的實(shí)例

解答:C(太難)

13、在Java中,關(guān)于final關(guān)鍵字的說(shuō)法正確的是()

A、假如修飾變量,則一旦賦了值,就等同一個(gè)常量。

B、假如修飾類,則該類只能被一個(gè)子類繼承。

C、假如修飾方法,則該方法不能在子類中被覆蓋。

D、假如修飾方法,則該方法所在的類不能被繼承。

解答:A,C

14、關(guān)于構(gòu)造方法以下說(shuō)法錯(cuò)誤的是(D)o

(A)構(gòu)造方法名必需與類名一樣(B)構(gòu)造方法可以重載

(C)構(gòu)造方法是通過(guò)new來(lái)調(diào)用(D)每個(gè)類都必需編寫構(gòu)

造方法代碼

15、關(guān)于類的定義以下說(shuō)法錯(cuò)誤(B)。

(A)類定義運(yùn)用class關(guān)鍵字(B)每個(gè)類中必需有一個(gè)main

方法

(C)一個(gè)包可以包含多個(gè)類(D)java中全部類都是Object類

的子類

16、在創(chuàng)建對(duì)象時(shí)必需(C)

A)先聲明對(duì)象,然后才能運(yùn)用對(duì)象

B)先聲明對(duì)象,為對(duì)象支配內(nèi)存空間,然后才能運(yùn)用對(duì)象

C)先聲明對(duì)象,為對(duì)象支配內(nèi)存空間,對(duì)對(duì)象初始化,然后才能

運(yùn)用對(duì)象

D)上述說(shuō)法都對(duì)

17、在調(diào)用方法時(shí),若要使方法變更實(shí)參的值,可以(B)

A)用基本數(shù)據(jù)類型作為參數(shù)B)用對(duì)象作為參數(shù)

C)A和B都對(duì)D)A和B都不對(duì)

18、關(guān)于以下程序代碼的說(shuō)明正確的是(D)

classHasStatic{

privatestaticintx=100;

publicstaticvoidmain(Stringargs[]){

HasStatichsl=newHasStatic();

hsl.x++;

HasStatichs2=newHasStatic();

hs2.x++;

hs1=newHasStatic();

hsl.x++;

HasStatic.x-

System.out.printin("x="+x);

}

}

A、5行不能通過(guò)編譯,因?yàn)橐昧怂接徐o態(tài)變量

B、10行不能通過(guò)編譯,因?yàn)閤是私有靜態(tài)變量

C、程序通過(guò)編譯,輸出結(jié)果為:x=103

D、程序通過(guò)編譯,輸出結(jié)果為:x=102

19、以下關(guān)于構(gòu)造函數(shù)的描述錯(cuò)誤的是(A)。

A、構(gòu)造函數(shù)的返回類型只能是void型。

B、構(gòu)造函數(shù)是類的一種特殊函數(shù),它的方法名必需與類名相同。

C、構(gòu)造函數(shù)的主要作用是完成對(duì)類的對(duì)象的初始化工作。

D、一般在創(chuàng)建新對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)。

20、Java中,在如下所示的Test類中,共有(C)個(gè)構(gòu)造方法。

publicclassTest{

privateintx;

publicTest(){x=35;}

publicvoidTest(doublef){This.x=(int)f;}

publicTest(Strings){}

I

A、OB、IC、2D、3

21、在Java中,關(guān)于構(gòu)造方法,下列說(shuō)法錯(cuò)誤的是(C)

A、構(gòu)造方法的名稱必需與類名相同

B、構(gòu)造方法可以帶參數(shù)

C、構(gòu)造方法不行以重載

D、構(gòu)造方法確定不能有返回值

22、在Java語(yǔ)言中,下列關(guān)于類的繼承的描述,正確的是(B)。

A、一個(gè)類可以繼承多個(gè)父類

B、一個(gè)類可以具有多個(gè)子類

C、子類可以運(yùn)用父類的全部方法

D、子類確定比父類有更多的成員方法

23、分析選項(xiàng)中關(guān)于Java中this關(guān)鍵字的說(shuō)法正確的是(A)

A、this關(guān)鍵字是在對(duì)象內(nèi)部指代自身的引用

B、this關(guān)鍵字可以在類中的任何位置運(yùn)用

C、this關(guān)鍵字和類關(guān)聯(lián),而不是和特定的對(duì)象關(guān)聯(lián)

D、同一個(gè)類的不同對(duì)象共用一個(gè)this

24、在Java接口中,下列選項(xiàng)中有效的方法聲明是(A)。

A、publicvoidaMethodQ;

B、publicfinalvoidaMethodQ;

C^protectedvoidaMethodQ;

D、privatevoidaMethod();

25、下列選項(xiàng)中關(guān)于Java中super關(guān)鍵字的說(shuō)法正確的是(A)。

A、super關(guān)鍵字是在子類對(duì)象內(nèi)部指代其父類對(duì)象的引用

B、super關(guān)鍵字不僅可以指代子類的干脆父類,還可以指代父類的

父類

C、子類通過(guò)super關(guān)鍵字只能調(diào)用父類的方法,而不能調(diào)用父類的

屬性

D、子類通過(guò)super關(guān)鍵字只能調(diào)用父類的屬性,而不能調(diào)用父類的

方法

3.2填空題

1、在Java程序中,通過(guò)類的定義只能實(shí)現(xiàn)—單重繼承—,但通

過(guò)接口的定義可以實(shí)現(xiàn)多—多重繼承—。

2、_抽象(abstract)—方法是一種僅有方法頭,沒(méi)有具體方法體和

操作實(shí)現(xiàn)的方法,該方法必需在抽象類之中定義?!猣inal方法是不能

被當(dāng)前類的子類重新定義的方法。

3、面對(duì)對(duì)象程序設(shè)計(jì)的三個(gè)特征是____封裝、多態(tài)、繼承

4、Java是面對(duì)對(duì)象語(yǔ)言,類是客觀事物的.抽象,而對(duì)象是類的

.實(shí)例一o

5、假如在子類中想運(yùn)用被子類隱藏的父類成員變量或方法,就可以運(yùn)

用關(guān)鍵字一supero

6、Java中有一種叫作—構(gòu)造方法一的特殊方法用來(lái)對(duì)類的對(duì)象成員

進(jìn)行初始化。

7、JAVA語(yǔ)言中供應(yīng)了兩種類型的字符串類來(lái)處理字符串,它們是

___$在111£和___StringBuffer類

8、Java語(yǔ)言中,全部的類都是—Object的子類,Java的窗口通

常是—JFrame__的子類,—抽象一類只能定義但不能被實(shí)例化,.最終

一類不能被繼承

9、一般Java程序的類體由兩部分組成:一部分是一屬性_,另一部分

是一方法一

1。、分別用—class_關(guān)鍵字來(lái)定義類,用_new__關(guān)鍵字來(lái)支配實(shí)例存

儲(chǔ)空間。

11、Java中類成員的限定詞有以下幾種:_private_public__,

protected____,_缺省__。其中,.public一的限定的范圍最大。類中

限定為—private—的成員,只能被這個(gè)類本身內(nèi)部訪問(wèn)。

12、Java類中,假如類的定義者沒(méi)有顯式的定義任何構(gòu)造方法,系

統(tǒng)將自動(dòng)供應(yīng)一個(gè)一無(wú)參默認(rèn).構(gòu)造方法。

13、在子類中定義與父類的相同的方法,若在多個(gè)子類中定義相同的方

法,則可以調(diào)用不同子類中的相同方法而實(shí)現(xiàn)不同的功能,這實(shí)現(xiàn)了程序運(yùn)

行時(shí)的多態(tài)。

3.3簡(jiǎn)答題

1.簡(jiǎn)潔闡述方法的重載和方法的重寫之間的區(qū)分

解答:

重寫是子類的方法覆蓋父類的方法,要求方法名和參數(shù)都相同

重載是在同一個(gè)類中的兩個(gè)或兩個(gè)以上的方法,擁有相同的方法名,

但是參數(shù)卻不相同

2、簡(jiǎn)述實(shí)例變量和類變量的區(qū)分。

解答:類變量也叫靜態(tài)變量,也就是在變量前加了static的變量;實(shí)

例變量也叫對(duì)象變量,即沒(méi)加static的變量;

區(qū)分在于:類變量是全部對(duì)象共有,其中一個(gè)對(duì)象將它值變更,其他

對(duì)象得到的就是變更后的結(jié)果;而實(shí)例變量則屬對(duì)象私有,某一個(gè)對(duì)象將

其值變更,不影響其他對(duì)象;

2、簡(jiǎn)述實(shí)例方法和類方法的區(qū)分

解答:實(shí)例方法可以對(duì)當(dāng)前對(duì)象的實(shí)例變量進(jìn)行操作,也可以對(duì)類變

量進(jìn)行操作,實(shí)例方法由實(shí)例對(duì)象調(diào)用。但類方法不能訪問(wèn)實(shí)例變量,只

能訪問(wèn)類變量。類方法可以由類名干脆調(diào)用,也可由實(shí)例對(duì)象進(jìn)行調(diào)用。

類方法中不能運(yùn)用this或super關(guān)鍵字。

3、面對(duì)對(duì)象的三個(gè)基本特征是什么,分別簡(jiǎn)潔介紹每個(gè)特征。

解答:三大特性是:封裝,繼承,多態(tài)。

封裝性就是把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立的單位,并盡可能隱

藏對(duì)象的內(nèi)部微小環(huán)節(jié)。

特殊類的對(duì)象擁有其一般類的全部屬性與服務(wù),稱作特殊類對(duì)一般類

的繼承。

對(duì)象的多態(tài)性是指在一般類中定義的屬性或服務(wù)被特殊類繼承之后,

可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個(gè)屬性或服務(wù)

在一般類與其各個(gè)特殊類中具有不同的語(yǔ)義。

4、簡(jiǎn)潔闡述成員變量和局部變量的區(qū)分。

解答:

1)成員變量在整個(gè)類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效。

2)成員變量又分為實(shí)例成員變量(簡(jiǎn)稱實(shí)例變量)和類變量(也稱靜

態(tài)變量),假如成員變量的類型前面加上關(guān)鍵字static,這樣的成員變量

稱為類變量或靜態(tài)變量。

3)假如局部變量的名字與成員變量的名字相同,則成員變量被隱藏,

也就是說(shuō),這個(gè)成員變量在這個(gè)方法內(nèi)短暫失效。這時(shí)假如想在該方法內(nèi)

運(yùn)用成員變量,必需運(yùn)用關(guān)鍵字this。

5、簡(jiǎn)述對(duì)象的引用和實(shí)體。

解答:當(dāng)用類創(chuàng)建一個(gè)對(duì)象時(shí),類中的成員變量被支配內(nèi)存空間,這

些內(nèi)存空間稱為該對(duì)象的實(shí)體,而對(duì)象中存放著引用,以確保實(shí)體由該對(duì)

象操作運(yùn)用。沒(méi)有實(shí)體的對(duì)象稱為空對(duì)象,空對(duì)象不能運(yùn)用,即不能讓一

個(gè)空對(duì)象去調(diào)用方法產(chǎn)生行為。

6、簡(jiǎn)述this關(guān)鍵字的意義,以與它在成員方法和構(gòu)造方法中如何運(yùn)

用。

解答:this是Java的一個(gè)關(guān)鍵字,表示某個(gè)對(duì)象。this可以出現(xiàn)在

實(shí)例方法和構(gòu)造方法中,但不行以出現(xiàn)在類方法中。this可以出現(xiàn)在實(shí)例

方法和構(gòu)造方法中,但不行以出現(xiàn)在類方法中。this關(guān)鍵字出現(xiàn)在類的構(gòu)

造方法中時(shí),代表運(yùn)用該構(gòu)造方法所創(chuàng)建的對(duì)象。實(shí)例方法必需通過(guò)對(duì)象

來(lái)調(diào)用,當(dāng)this關(guān)鍵字出現(xiàn)在類的實(shí)例方法中時(shí),代表正在調(diào)用該方法

的當(dāng)前對(duì)象。

成員函數(shù)中定義了和成員變量中相同的變量時(shí),引用成員變量要用

this;構(gòu)造函數(shù)中調(diào)用同一個(gè)類的其他構(gòu)造函數(shù)時(shí)用thiSo

7、簡(jiǎn)潔描述Java的參數(shù)傳值中的兩種方式,基本數(shù)據(jù)類型參數(shù)的傳

值和引用類型參數(shù)的傳值?

解答:在基本數(shù)據(jù)類型參數(shù)的傳值中,基本數(shù)據(jù)類型的參數(shù)向該參數(shù)

傳遞的值的級(jí)別不行以高于該參數(shù)的級(jí)別。

在引用類型參數(shù)的傳值中,Java的引用類型數(shù)據(jù)包括對(duì)象、數(shù)組和接

口,當(dāng)參數(shù)是引用類型時(shí),“傳值''傳遞的是變量的引用而不是變量所引

用的實(shí)體。假如變更參數(shù)變量所引用的實(shí)體,就會(huì)導(dǎo)致原變量的實(shí)體發(fā)生

同樣的變更,但是假如變更參數(shù)的引用不會(huì)影響向其傳值的變量的引用。

8、基本數(shù)據(jù)類型和對(duì)象作為參數(shù)傳遞的不同?

解答:

(1)基本數(shù)據(jù)類型作為參數(shù)在方法中傳遞的是值傳遞。

(2)對(duì)象是引用傳遞,當(dāng)對(duì)象作為參數(shù)傳遞時(shí),傳遞的是對(duì)象的地

址。

3.4綜合題

1、定義一個(gè)“點(diǎn)”(Point)類用來(lái)表示三維空間中的點(diǎn),類體的成員

變量x,y,z分別表示三維空間的坐標(biāo)。類體中具有如下成員方法的定義:

1)構(gòu)造方法Point??梢陨删哂刑囟ㄗ鴺?biāo)的點(diǎn)對(duì)象。

2)setX(),setY(),setZ()為可以設(shè)置三個(gè)坐標(biāo)的方法。

3.)getDistance。為可以計(jì)算該點(diǎn)距離原點(diǎn)距離平方的方法。

解答:

classPoint{

doublex,y,z;

Point(double_x,double_y,double_z)

I

X=_x;

y=q;

z=_z;

)

voidsetX(double_x){

x=_x;

}

voidsetY(double_y){

y=_y;

)

voidsetZ(double_z){

z=_z;

doublegetDistance(){

return(x*x+y*y+z*z);

}

2、編寫一個(gè)Java應(yīng)用程序Test類,實(shí)現(xiàn)成員方法max(a,b)的重載。

具體要求如下:

a)編寫voidmax(inta,intb)成員方法,對(duì)兩個(gè)整數(shù)進(jìn)行大小的比較,

輸出打印較大的那個(gè)整數(shù)。

b)編寫voidmax(floata,floatb)成員方法,對(duì)兩個(gè)float數(shù)進(jìn)行大小的

比較,輸出打印較大的那個(gè)float數(shù)。

c)編寫voidmax(doublea,doubleb)成員方法,對(duì)兩個(gè)double數(shù)進(jìn)

行大小的比較,輸出打印較大的那個(gè)double數(shù)。

publicclassTest{

voidmax(inta,intb){

System.out.println(a>b?a:b);

}

voidmax(floata,floatb){

System,out.printin(a>b?a:b);

voidmax(doublea,doubleb){

System.out.printin(a>b?a:b);

}

publicstaticvoidmain(String[]args){

Testt=newTest();

t.max(3,4);

}

}

3、編寫一個(gè)矩形類對(duì)數(shù)學(xué)中的矩形進(jìn)行抽象描述,并具有方法可以計(jì)算

矩形的周長(zhǎng)和面積,具體分為以下三個(gè)子任務(wù)完成。

(1)創(chuàng)建Rectangle類,添加屬性width、height,并定義構(gòu)造方法

Rectangle(double_width,double_height);

(2)在Rectangle類中添加兩種方法computCircum()和computAreaQ

分別計(jì)算矩形的周長(zhǎng)和面積;

(3)編程利用Rectangle對(duì)象輸出一個(gè)30*40的矩形的周長(zhǎng)和面積。

解答:

publicclassTestRectang{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

Rectanglerecti=newRectangle(20,30);

System.oiztprintln(rect1putAreaQ);

System.outprintln(rect1putCircumQ);

}

}

classRectangle{

doublewidth,height;

Rectangle(){

width=0;

height=0;

}

Rectangle(double_width,double_height){

width=_width;

height=_height;

doublecomputAreaQ{

returnwidth*height;

}

doublecomputCircum(){

return2*(width+height);

第4章繼承、接口和內(nèi)部類

4.1單項(xiàng)選擇題

1、Java中用于定義接口的關(guān)鍵字是()

A、importB、package

C、classD、interface

解答:D

2、以下關(guān)于abstract的說(shuō)法,正確的是()

A、abstract只能修飾類

B、abstract只能修飾方法

C、abstract類中必需有abstract方法

D、abstarct方法所在的類必需用abstract修飾

解答:D

3、下列哪種說(shuō)法是正確的()

A、私有方法不能被子類覆蓋。

B、子類可以覆蓋超類中的任何方法。

C、覆蓋方法可以聲明自己拋出的異樣多于那個(gè)被覆蓋的方法。

D、覆蓋方法中的參數(shù)清單必需是被覆蓋方法參數(shù)清單的子集。

解答:A

4、關(guān)于類繼承的說(shuō)法,正確的是()

A、Java類允許多重繼承

B、Java接口允許多繼承

C、接口和類都允許多繼承

D、接口和類都不允許多繼承

解答:B

5、關(guān)于抽象類,正確的是_____o

A.抽象類中不行以有非抽象方法

B.某個(gè)非抽象類的父類是抽象類,則這個(gè)子類必需重載父類的全

部抽象方法

C.可以用抽象類干脆去創(chuàng)建對(duì)象

D.接口和抽象類是同一個(gè)概念

解答:B

8、抽象類A和抽象類B的定義如下:

abstractclassA{

abstractintgetinfo();

}

publicclassBextendsA{

privateinta=0;

publicintgetinfo(){

returna;

}

publicstaticvoidmain(Stringargs[]){

Bb=newB();

System.out.printin(b.getinfo());

)

)

關(guān)于上述代碼說(shuō)明正確的是()o

A.輸出結(jié)果為0B.通過(guò)編譯但沒(méi)有輸出任何結(jié)果

C.第5行不能通過(guò)編譯D.程序第2行不能通過(guò)編譯

解答:A

9、下面程序的運(yùn)行結(jié)果是______

classex4_5_l1_A{

protectedstaticintcount=0;

publicex4_5_l1_A(){

count++;

I

f

I

J

classex4_5_l1_Bextendsex4_5_l1_A{

publicex4_5_l1_B(){

count++;

}

f

classex4_5_l1{

publicstaticvoidmain(Stringargs[]){

ex4_5_l1_Bx=newex4_5_l1_B();

System.out.println("count="+x.count);

A.count=1B.count=2

C.count=3D.count=4

解答:B

1。、設(shè)有下面兩個(gè)類的定義:

classPerson

{longid;//身份證號(hào)

Stringname;//姓名

}

classStudentextendsPerson

{intscore;//入學(xué)總分

intgetScore(){

returnscore;

|

}

問(wèn):類Person和類Student的關(guān)系是()

A、包含關(guān)系B、繼承關(guān)系

C、關(guān)聯(lián)關(guān)系D、無(wú)關(guān)系,上述類定義有語(yǔ)法錯(cuò)誤

解答:B

11、以下程序代碼錯(cuò)誤的是(B)。

abstractclassP{}

classAextendsP{}

abstractclassBextendsP{}

(A)Pp=newA();(B)Pp=newB();

(C)Aa=newA();(D)Pp=newP(){voidfoo(){1};

12、下面是People和Child類的定義和構(gòu)造方法,每個(gè)構(gòu)造方法都

輸出編號(hào)。在執(zhí)行newChild("mike")的時(shí)候都有哪些構(gòu)造方法被依次調(diào)

用?請(qǐng)選擇輸出結(jié)果(D)

classPeople{

Stringname;

publicPeople(){

System.out.print(l);

}

publicPeople(Stringname){

System.out.print(2);

this,name=name;

classChildextendsPeople{

Peoplefather;

publicChild(Stringname){

System.out.print(3);

this,name=name;

father=newPeople(name+":F");

}

publicChild(){

System.out.print(4);

A312B32C432D

132

13、選項(xiàng)中哪一行代碼可以替換題目中//addcodehere而不產(chǎn)生編

譯錯(cuò)誤?(A)

publicabstractclassMyClass{

publicintconstlnt=5;

//addcodehere

publicvoidmethodQ{

}

}

Apublicabstractvoidmethod(inta);

Bconstlnt=constlnt+5;

Cpublicintmethod();

DpublicabstractvoidanotherMethod(){}

15、以下哪項(xiàng)是接口的正確定義?(D)

A、interfaceB{voidprint(){}}

B、abstractinterfaceB{voidprint()}

C、abstractinterfaceBextendsA1,A2〃A1、A2為已

定義的接口

{abstractvoidprint(){};}

D、interfaceB{voidprint();}

16、A派生出子類B,B派生出子類C,并且在Java源代碼中有如

下聲明:

1.AaO=newA();

2.Aal=newB();

3.Aa2=newC();

問(wèn)以下哪個(gè)說(shuō)法是正確的?(D)

A、只有第1行能通過(guò)編譯

B、第1、2行能通過(guò)編譯,但第3行編譯出錯(cuò)

C、第1、2、3行能通過(guò)編譯,但第2、3行運(yùn)行時(shí)出錯(cuò)

D、第1行、第2行和第3行的聲明都是正確的

17、假設(shè)A類有如下定義,設(shè)a是A類的一個(gè)實(shí)例,下列語(yǔ)句調(diào)用哪

個(gè)是錯(cuò)誤的?(C)

classA

{inti;

staticStrings;

voidmethod1(){}

staticvoidmethod2(){}

/I

A^System.out.println(a.i);B>a.methodl();

C、A.method1();D、A.method2()

18、以下關(guān)于繼承的敘述正確的是(A)。

A、在Java中類只允許單一繼承

B、在Java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口

C、在Java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口

D、在Java中接口只允許單一繼承

19、以下關(guān)于抽象類和接口的說(shuō)法錯(cuò)誤的是(E)

A、抽象類在Java語(yǔ)言中表示的是一種繼承關(guān)系,一個(gè)類只能運(yùn)用

一次繼承。但是一個(gè)類卻可以實(shí)現(xiàn)多個(gè)接口。

B、在抽象類中可以沒(méi)有抽象方法

C、實(shí)現(xiàn)抽象類和接口的類必需實(shí)現(xiàn)其中的全部方法,除非它也是抽

象類。接口中的方法都不能被實(shí)現(xiàn)

D、接口中定義的變量默認(rèn)是publicstaticfinal型,且必需給其初

值,所以實(shí)現(xiàn)類中不能重新定義,也不能變更其值。

E、接口中的方法都必需加上public關(guān)鍵字。

4.2填空題

1、在Java語(yǔ)言中全部的類都是干脆或間接地繼承.Object

類而得到的。

2、在Java中一個(gè)父類可以有—多一個(gè)子類,一個(gè)類只能有一——

個(gè)干脆父類。

3、Java中不能被實(shí)例化、只能被子類繼承的是—抽象類

4、當(dāng)子類中的變量或方法與父類的變量和方法重名時(shí),子類的變量被

隱藏,子類中的方法被重載。此時(shí),指向父類中的變量或方

法,則用super關(guān)鍵字實(shí)現(xiàn)。

5、用來(lái)定義一個(gè)類指定繼承父類的關(guān)鍵字是______extends,用來(lái)指

定接口的繼承的關(guān)鍵字是______implements

7、在已有類的基礎(chǔ)上構(gòu)造一個(gè)新的類,稱為類的繼承。

4.3簡(jiǎn)答題

1、請(qǐng)舉例簡(jiǎn)要說(shuō)明JAVA語(yǔ)言的繼承機(jī)制有何特點(diǎn)?

解答:子類可以運(yùn)用父類中的成員變量和方法,然后也可以添加自己

的屬性和方法。假如子類沒(méi)有構(gòu)造方法,則編譯器首先為子類添加一個(gè)無(wú)

參的構(gòu)造方法,然后調(diào)用父類的默認(rèn)構(gòu)造方法,假如子類有構(gòu)造方法,則

先調(diào)用父類的默認(rèn)構(gòu)造方法,再調(diào)用子類的構(gòu)造方法;假如父類中沒(méi)有默

認(rèn)構(gòu)造方法,則出錯(cuò)。(太難)

2、什么是繼承?什么是多重繼承和單繼承?Java接受何種機(jī)制來(lái)實(shí)

現(xiàn)多重繼承?

解答:繼承是面對(duì)對(duì)象編程的一種特性,是保留原有類功能的前提下

拓展或改寫部分功能,實(shí)現(xiàn)代碼復(fù)用的方式。單繼承就是一個(gè)類只可以繼

承自一個(gè)父類,多繼承是指一個(gè)類可以同時(shí)繼承多個(gè)父類。java中運(yùn)用的

是單繼承,也就是一個(gè)類有且只能有一個(gè)父類,java中可以運(yùn)用接口實(shí)現(xiàn)

來(lái)實(shí)現(xiàn)類似多繼承的效果。

3、簡(jiǎn)述super關(guān)鍵字的意義,以與如何運(yùn)用。

解答:關(guān)鍵字super表示父類對(duì)象。通過(guò)在子類中運(yùn)用super做前綴

可以引用被子類隱藏的父類變量或被子類重寫的父類方法。super用來(lái)引

用當(dāng)前對(duì)象的父類,雖然構(gòu)造方法不能夠繼承,但利用super關(guān)鍵字,子

類構(gòu)造方法中也可以調(diào)用父類的構(gòu)造方法。1)操作被隱藏的變量和方法⑵

運(yùn)用super調(diào)用父類的構(gòu)造方法。

4、抽象類是什么,抽象方法是什么。

解答:抽象類就是不能運(yùn)用new方法進(jìn)行實(shí)例化的類,即沒(méi)有具體實(shí)

例對(duì)象的類。抽象類有點(diǎn)類似“模板”的作用,目的是依據(jù)其格式來(lái)創(chuàng)建

和修改新的類。對(duì)象不能由抽象類干脆創(chuàng)建,只可以通過(guò)抽象類派生出新

的子類,再由其子類來(lái)創(chuàng)建對(duì)象。

抽象方法就是以abstract修飾的方法,這種方法只聲明返回的數(shù)據(jù)類

型、方法名稱和所需的參數(shù),沒(méi)有方法體,也就是說(shuō)抽象方法只須要聲明

而不須要實(shí)現(xiàn)。當(dāng)一個(gè)方法為抽象方法時(shí),意味著這個(gè)方法必需被子類的

方法所重寫,否則其子類的方法照舊是abstract的。

4、接口是什么,以與它的用處體現(xiàn)在哪幾個(gè)方面。

解答:接口是抽象類的一種,只包含常量和方法的定義,而沒(méi)有變量

和方法的實(shí)現(xiàn),且其方法都是抽象方法。它的用處體現(xiàn)在下面幾個(gè)方面:

1)通過(guò)接口實(shí)現(xiàn)不相關(guān)類的相同行為,而無(wú)需考慮這些類之間的關(guān)系。2)

通過(guò)接口指明多個(gè)類須要實(shí)現(xiàn)的方法。3)通過(guò)接口了解對(duì)象的交互界面,

而無(wú)需了解對(duì)象所對(duì)應(yīng)的類。

5、什么是接口,什么是抽象類,接口和抽象類的區(qū)分?

解答:

抽象類就是不能運(yùn)用new方法進(jìn)行實(shí)例化的類,即沒(méi)有具體實(shí)例對(duì)象

的類。抽象類有點(diǎn)類似“模板”的作用,目的是依據(jù)其格式來(lái)創(chuàng)建和修改

新的類。對(duì)象不能由抽象類干脆創(chuàng)建,只可以通過(guò)抽象類派生出新的子類,

再由其子類來(lái)創(chuàng)建對(duì)象。

接口是抽象類的一種特殊形式,只包含常量和方法的定義,而沒(méi)有變

量和方法的實(shí)現(xiàn),且其方法都是抽象方法。

抽象層次不同,抽象類是對(duì)類的抽象,而接口是對(duì)行為的抽象。

跨域?qū)哟尾煌?,抽象類的跨域是具有相像的類,接口可以跨域不同?/p>

類。

設(shè)計(jì)層次不同,抽象類是自底向上抽象而來(lái),子類抽象父類接口是自

頂向下設(shè)計(jì)的,無(wú)需知道子類。

6、接口的用處體現(xiàn)哪幾個(gè)方面?

解答:

通過(guò)接口實(shí)現(xiàn)不相關(guān)類的相同行為,而無(wú)需考慮這些類之間的關(guān)系。

通過(guò)接口指明多個(gè)類須要實(shí)現(xiàn)的方法。

通過(guò)接口了解對(duì)象的交互界面,而無(wú)需了解對(duì)象所對(duì)應(yīng)的類。

7、接口與實(shí)現(xiàn)類(具體類)關(guān)系:

解答:

多個(gè)無(wú)關(guān)的類可以實(shí)現(xiàn)同一個(gè)接口。

一個(gè)類可以實(shí)現(xiàn)多個(gè)無(wú)關(guān)的接口。

與繼承關(guān)系類似,接口與實(shí)現(xiàn)類之間存在多態(tài)性。

14、子類與父類的繼承關(guān)系中,什么是屬性隱藏?什么是方法重寫?

解答:隱藏是指當(dāng)父類和子類有相同名字的屬性的時(shí)候,父類的同名

變量形式上不行見(jiàn)了。但是實(shí)際還是存在的。

重寫是針對(duì)方法的,通常是父類的方法在子類中重新寫過(guò)。當(dāng)執(zhí)行子

類的實(shí)例得時(shí)候,實(shí)際運(yùn)行的是子類的方法。在子類里面可以通過(guò)

super.method()來(lái)顯式的訪問(wèn)。

15、子類會(huì)繼承父類的全部方法和屬性么?

解答:在同一個(gè)包中除private聲明外的方法都可以繼承。不在同一

個(gè)包中,只繼承protected和public聲明的方法。(太難了)

16、Java中的方法重寫(Overriding)和方法重載(Overloading)分別

是什么?

解答:Java中的方法重載發(fā)生在同一個(gè)類里面兩個(gè)或者是多個(gè)方法的

方法名相同但是參數(shù)不同的狀況。與此相對(duì),方法重寫是說(shuō)子類重新定義

了父類的方法。子類中重寫的方法和父類中被重寫的方法必需有相同的方

法名,參數(shù)列表和返回類型,只是方法體不同。

4.4綜合題

1、寫出一個(gè)類People,并由該類做基類派生出子類Employee和

Teachero其中People類具有name、age兩個(gè)愛(ài)惜成員變量,分別為

String類型、整型,且具有公有的getAge成員函數(shù),用于返回age變量

的值。Employee類具有愛(ài)惜成員變量empno為String類型,Teacher

類有teano為String類型和zc成員變量為String類型。

解答:

//People類:

publicabstractclassPeople(

protectedStringname;

protectedintage;

publicintgetAge(){

returnage;

}

}

//Employee類:

publicclassEmployeeextendsPeople{

protectedStringempno;

}

“Teacher類:

publicclassTeacherextendsPeople{

protectedStringteano;

protectedStringzc;

2、定義一個(gè)新的類Student類,繼承Person類。要求:

1)增加“school”屬性為String類型。

2)重載Student類的構(gòu)造方法,Student(Stringn,String1,String

school)o

3)重寫Person類的info。方法,增加school信息。

classPerson{

privateStringname;

privateStringlocation;

Person(Stringname,Stringlocation){

=name;

this.location=location;

}

publicStringinfo(){

return"name:"+name+"location:"+location;

解答:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論