版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚具銷售培訓(xùn)課件
- 共青科技職業(yè)學(xué)院《現(xiàn)代基礎(chǔ)化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等??茖W(xué)?!督鹑诜ā?023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等??茖W(xué)?!队耙晱V告設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《雞病解剖及診斷》課件
- 贛東學(xué)院《體質(zhì)測(cè)量與評(píng)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘孜職業(yè)學(xué)院《莎士比亞戲劇導(dǎo)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級(jí)生物上冊(cè)第三單元第二章第一節(jié)種子的萌發(fā)教案新版新人教版
- 七年級(jí)道德與法治上冊(cè)第一單元成長(zhǎng)的節(jié)拍第二課學(xué)習(xí)新天地第一課時(shí)誤區(qū)警示新人教版
- 三年級(jí)科學(xué)上冊(cè)5鳳仙花教案冀教版
- 廣東省惠州市2022-2023學(xué)年高一上學(xué)期期末考試物理試題(含答案)
- 遼寧省丹東市2022-2023學(xué)年八年級(jí)上學(xué)期末數(shù)學(xué)期末試卷(含答案)
- 2023年政府項(xiàng)目申報(bào)專員年度總結(jié)及下一年規(guī)劃
- 中學(xué)燃?xì)忮仩t事故應(yīng)急預(yù)案
- 公租房續(xù)租申請(qǐng)書范文示例
- 小學(xué)各項(xiàng)制度執(zhí)行情況總結(jié)
- 2023-2024學(xué)年江蘇省徐州市九年級(jí)(上)期中物理試卷
- 搬運(yùn)裝卸服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
- 急性腎衰竭屬于中醫(yī)學(xué)“癃閉”范疇5種常用中成藥辨證施治方案
- 起重機(jī)械安全生產(chǎn)隱患課件
- 耕地資源與國(guó)家糧食安全高中地理湘教版(2019)選擇性必修3
評(píng)論
0/150
提交評(píng)論