Java面向?qū)ο缶幊叹毩曨}_第1頁
Java面向?qū)ο缶幊叹毩曨}_第2頁
Java面向?qū)ο缶幊叹毩曨}_第3頁
Java面向?qū)ο缶幊叹毩曨}_第4頁
Java面向?qū)ο缶幊叹毩曨}_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【練習題】01.類的成員變量猜數(shù)字游戲

一個類A有一個成員變量v有一個初值100o定

義一個類對A類的成員變量V進行猜。如果大了則提示大了小了則提

示小了。等于則提示猜測成功。

importjava.util.*;

publicclasslianxi

(

publicstaticvoidmain(String[]dsa)

(

Aa=newA();

Scannerinput=newScanner(System,in);

while(1-1)

(

System.out.printin("請猜測數(shù)字”);

inti=input.nextlnt();

if(i<a.v)

{

System.out.printin(“小了");

continue;

)

elseif(i>a.v)

System.out.printin(“大了");

continue;

)

else

]

System.out.printin("恭喜你猜對了!");

break;

)

)

}

classA

(

publicintv=100;

【練習題】02.類的成員變量請定義一個交通工具(Vehicle)的類其

中有:屬性速度(speed)體積(size)等等方法移動(move。)設(shè)

置速度(setSpeed(intspeed))加速speedUp(),減速speedDownO等等.

最后在測試類Vehicle中的main。中實例化一個交通工具對象并通過方

法給它初始化speed,size的值并且通過打印出來。另外調(diào)用加速

減速的方法對速度進行改變。publicclassVehicle

privateintspeed;

privateStringsize;

publicvoidmove()

{

System,out.printinCimmoving");

)

publicvoidsetSpeed(intspeed)

(

System.out.printin("nowi'mrunningwith'+speed+“per

hour");

}

publicvoidspeedUp()

{

Vehiclev=newVehicle();

v.setSpeed(1000);

)

publicvoidspeedDown()

{

Vehiclev=newVehicleO;

v.setSpeed(20);

publicstaticvoidmain(String[]dsa)

Vehiclev=newVehicleO;

v.speed=100;

v.size="50/nT3”;

System,out.printin(z,theinitialspeedis"+v.speed+“andmysize

is"+v.size);

v.speedllpO;

v.speedDown();

【練習題】03.類的成員變量與方法、構(gòu)造方法在程序中經(jīng)常要對時間

進行操作但是并沒有時間類型的數(shù)據(jù)。那么我們可以自己實現(xiàn)一個時

間類來滿足程序中的需要。定義名為MyTime的類其中應(yīng)有三個整型

成員時hour分minute秒second為了保證數(shù)據(jù)的

安全性這三個成員變量應(yīng)聲明為私有。為MyTime類定義構(gòu)造方法以

方便創(chuàng)建對象時初始化成員變量。再定義diaplay方法用于將時間信

息打印出來。為MyTime類添加以下方法addSecond(intsec)

addMinute(intmin)addHour(inthou)subSecond(intsec)

subMinute(intmin)subHour(inthou)分別對時、分、秒進行加減運算。

publicclassMyTime

privateinthour;

privateintminute;

privateintsecond;

publicMyTime(intx,inty,intz)

{

this.hour=x;

this.minute=y;

this.second=z;

)

publicvoiddisplay()

{

System.out.printin(/zthetimeis

“+this.hour+”:"+this.minute+”:"+this.second);

)

publicvoidaddHour(inthou)

(

this.hour=this.hour+hou;

}

publicvoidaddSecond(intsec)

this.second=this.second+sec;

publicvoidaddMinute(intmin)

this.minute=this.minute+min;

}

publicvoidsubHour(inthou)

{

this.hour=this.hour-hou;

)

publicvoidsubMinute(intmin)

{

this.minute=this.minute-min;

}

publicvoidsubSecond(intsec)

{

this.second=this.second-sec;

)

)

【練習題】04.構(gòu)造方法編寫Java程序模擬簡單的計算器。定義名為

Number的類其中有兩個整型數(shù)據(jù)成員nl和n2應(yīng)聲明為私有。編寫構(gòu)

造方法賦予nl和n2初始值再為該類定義加addition、減

subtration、乘multiplication、除division等公有成員方

法分別對兩個成員變量執(zhí)行加、減、乘、除的運算。在main方法中創(chuàng)

建Number類的對象調(diào)用各個方法并顯示計算結(jié)果。

publicclassNumber

(

privateintx;

privateinty;

publicNumber(intx,inty)

(

this.x=x;

this.y=y;

}

publicvoidplus()

{

System.out.printin(z/theresultis:"+(this.x+this.y));

)

publicvoidexcept()

{

System.out.printin(/?theresultis:"+(this.x-this.y));

}

publicvoidmultiplication()

System.out.printin(z/theresultis:"+(this.x*this.y));

publicvoiddivision()

System.out.printin(z/theresultis:"+(this.x/this.y));

publicstaticvoidmain(String[]dsa)

Number1ian=newNumber(4,4);

lian.plus();

lian.except();

lian.multiplication();

lian.division();

【練習題】05.構(gòu)造方法編寫Java程序用于顯示人的姓名和年齡。定

義一個人類Person該類中應(yīng)該有兩個私有屬性姓名name和

年齡ageo定義構(gòu)造方法用來初始化數(shù)據(jù)成員。再定義顯示

display方法將姓名和年齡打印出來。在main方法中創(chuàng)建人類的實

例然后將信息顯示。

publicclasslianxi

privateStringname;

privateintage;

publiclianxi(Stringname,intage)

{

=name;

this.age=age;

)

publicvoiddisplay()

{

System.out.println("name:"+name+“\tage:"+age);

}

publicstaticvoidmain(String[]dsa)

{

lianxilian=newlianxi("wing”,29);

lian.display();

)

)

【練習題】06.get方法和set方法定義一個類該類有一個私有成員變

量通過構(gòu)造方法將其進行賦初值并提供該成員的getXXXO和setXXXO

方法提示假設(shè)有privateStringname;則有publicvoid

setName(Stringname){this,name=name;}publicString

getName(){returnthis,name;}

publicclasslianxi

(

privateinti;

publiclianxi(inti)

{

lianxilian=newlianxi();

lian.seti(i);

lian.geti();

System,out.printin("i="+i);

}

publiclianxi()

(}

publicintgeti()

(

returni;

}

publicvoidseti(inti)

this.i=i;

publicstaticvoidmain(String[]dsa)

lianxilian=newlianxi(3);

}

}

【練習題】07.構(gòu)造方法與重載為"無名的粉”寫一個類classWuMingFen

要求1.有三個屬性面碼:StringtheMa粉的分量(兩)int

quantity是否帶湯booleanlikeSoup2.寫一個構(gòu)造方法以

便于簡化初始化過程如WuMingFenfl=newWuMingFen("牛肉

”,3,true);3.重載構(gòu)造方法使得初始化過程可以多樣化WuMingFen

f2=newWuMingFen("牛肉",2);4.如何使得下列語句構(gòu)造出來的粉對象

是酸辣面碼、2兩、帶湯的WuMingFenf3=newWuMingFen();5.寫

一個普通方法check。用于查看粉是否符合要求。即將對象的三個

屬性打印在控制臺上。

publicclassWuMingFen

privateStringtheMa;

privateintquantity;

privatebooleanlikeSoup;

publicWuMingFen(Strings,inti,booleanb)

this.theMa=s;

this.quantity=i;

this.likeSoup=b;

)

publicWuMingFen(Strings,inti)

{

this.theMa=s;

this.quantity=i;

}

publicWuMingFen(Strings,booleanb,inti)

{

this.theMa=s;

this,quantity=i;

this.likeSoup=b;

if(b==true)

{

Stringbl="帶湯的";

System.out.println(theMa+quantity+"兩"+bl);

publicvoidcheck()

if(likeSoup==true)

Stringbl="帶湯的";

System.out.println(z/面碼:"+theMa+"\n分量

“+quantity+〃\n〃+b]);

)

else

{

Stringbl="不帶湯的";

System.out.println(/z面碼:"+theMa+"\n分量

“+quantity+〃\n〃+b]);

)

)

publicstaticvoidmain(String1]args)

(

WuMingFenlian=newWuMingFen(“沙茶面”,2,true);

lian.check();

}

}

【練習題】08.構(gòu)造方法的重載定義一個名為Vehicles交通工具

的基類該類中應(yīng)包含String類型的成員屬性brand商標和color

顏色還應(yīng)包含成員方法run行駛在控制臺顯示“我已經(jīng)開動了”

和showinfo顯示信息在控制臺顯示商標和顏色并編寫構(gòu)造方

法初始化其成員屬性。編寫Car小汽車類繼承于Vehicles類增加

int型成員屬性seats座位還應(yīng)增加成員方法showCar在控制臺

顯示小汽車的信息并編寫構(gòu)造方法。編寫Truck卡車類繼承于

Vehicles類增加float型成員屬性load載重還應(yīng)增加成員方法

showTruck在控制臺顯示卡車的信息并編寫構(gòu)造方法。在main方

法中測試以上各類。

publicclassVehicles

(

publicStringbrand;

publicStringcolor;

publicvoidrun()

(

System.out.printin(z/iamrunning");

}

publicVehicles(Stringb,Stringbl)

{

this.brand=b;

this.color=bl;

publicvoidshowinfo()

System.out.printin("brand:"+this.brand+"\tcolor:"+this.color

);

)

publicstaticvoidmain(String1]dad)

(

Vehicleslian=newVehicles("Lamborgihini","yellow");

lian.showinfo();

carc=newcar("Aventador","green”,6);

c.showCar();

Truckt=newTruck("Dongfangxuetielong","Bule",12);

t.showTruck();

)

)

classcarextendsVehicles

(

publicintseat;

publicvoidshowCar()

System.out.printin(z/iama"+this.brand+“mycoloris

“+this.color+“ihave"+this.seat+“seats~");

}

publiccar(Stringb,Stringbl,ints)

{

super(b,bl);

this.seat=s;

)

)

classTruckextendsVehicles

(

publicfloatload;

publicvoidshowTruck()

{

System.out.printin(z/iama"+this.brand+“mycoloris

“+this.color+“icanstand"+this.load+“tonsofmaterials");

)

publicTruck(Stringb,Stringbl,floatf)

{

super(b,bl);

this.load=f;

【練習題】09.構(gòu)造方法與重載定義一個網(wǎng)絡(luò)用戶類要處理的信息有用

戶ID、用戶密碼、email地址。在建立類的實例時把以上三個信息都作

為構(gòu)造函數(shù)的參數(shù)輸入其中用戶H)和用戶密碼時必須的缺省的email

地址是用戶ID加上字符串"@”

publicclassUerlnfo

(

privateintid;

privateStringpwd;

privateStringe_add;

publicUerlnfo(inti,Strings,Stringsi)

{

this.id=i;

this.pwd=s;

this.e_add=sl;

System.out.printin(id+"\n'+pwd+"\n"+e_add);

}

publicUerlnfo(inti,Strings)

{

this.id=i;

this.pwd=s;

this.e_add=id+”@";

System.out.printin(id+"\rr+pwd+"\n"+e_add);

publicstaticvoidmain(StringL]dsa)

Uerlnfouer=new

Uerlnfo(1201012204,^dwajldwajl^lllllllllW^);

Uerlnfou=newUerlnfo(1201012204,,zdwijadiwjar');

【練習題】10.構(gòu)造方法與重載、包編寫Addition類該類中應(yīng)包含一

組實現(xiàn)兩數(shù)相加運算的重載方法。實現(xiàn)加法運算的方法應(yīng)接受兩個參

數(shù)即加數(shù)和被加數(shù)方法將兩個參數(shù)進行加法運算后返回相加結(jié)

果??紤]可能針對不同的數(shù)據(jù)類型進行計算重載一組方法包括整型、

長整型、浮點型、雙精度浮點型、還有字符串。在main方法中創(chuàng)建Addition

類的實例分別調(diào)用重載方法測試其效果。應(yīng)將Addition類打入到包中

以自己名字的拼音為包命名。

packagecj.lian;

publicclasslianxi

publicvoidadditionlnt(intx,inty)

intsum=x+y;

System.out.printIn("sum="+sum);

)

publicvoidadditionLong(longx,longy)

{

longsum=x+y;

System.out.printIn("sum="+sum);

}

publicvoidadditionFloat(floatx,floaty)

{

floatsum=x+y;

System.out.printIn("sum="+sum);

)

publicvoidadditionDouble(doublex,doubley)

{

doublesum=x+y;

System.out.printIn("sum="+sum);

publicvoidadditionString(Stringx,Stringy)

Stringsum=x+y;

System.out.printIn("sum="+sum);

)

publicstaticvoidmain(StringL]dsa)

{

lianxilian=newlianxi();

lian.additionlnt(1,2);

lian.additionString("l","2");

【練習題】11.構(gòu)造方法與重載將上次練習題三中編寫的MyTime類打到

以自己名字的拼音命名的包中并為該類重載一組構(gòu)造方法以方便使

用者能夠以多種形式初始化該類的實例。

packagejava,time;

publicclassMyTime

(

privateinthour;

privateintminute;

privateintsecond;

publicMyTime(intx,inty,intz)

this.hour=x;

this.minute=y;

this.second=z;

)

publicMyTime()

(}

publicvoiddisplay()

{

System.out.printin(/?thetimeis

+this.hour+”:"+this.minute+”:"+this.second);

}

publicvoidaddHour(inthou)

{

this.hour=this.hour+hou;

)

publicvoidaddSecond(intsec)

{

this.second=this.second+sec;

publicvoidaddMinute(intmin)

this.minute=this.minute+min;

}

publicvoidsubHour(inthou)

{

this.hour=this.hour-hou;

)

publicvoidsubMinute(intmin)

(

this.minute=this.minute-min;

}

publicvoidsubSecond(intsec)

{

this.second=this.second-sec;

)

publicstaticvoidmain(String1]das)

(

MyTimet=newMyTime();

t.display();

)

}

編譯包:javac-d.MyTime.java

【練習題】12.構(gòu)造方法與重載建立一個汽車類包括輪胎個數(shù)汽車顏

色車身重量等屬性。并通過不同的構(gòu)造方法創(chuàng)建事例。至少要求

汽車能夠加速減速停車。要求命名規(guī)范代碼體現(xiàn)層次有

友好的操作提示。

publicclasscar

(

privateintlunzi;

privateStringcolor;

privatedoubleweight;

publiccar(){}

publiccar(inti,Strings,doubled)

{

this.lunzi=i;

this.color=s;

this.weight=d;

)

publicvoidSpeedUp()

{

System.out.printin(z/iamspeedingup~");

publicvoidSpeedDown()

System.out.printin(z/iamspeedingdown~");

publicvoidStop()

{

System.out.printin(z/ihavestopped");

)

publicstaticvoidmain(String[]das)

{

carc=newcar();

carcl=newcar(4,"yellow”,1.45);

c.SpeedUp();

c.SpeedDown();

c.StopO;

)

)

【練習題】13.構(gòu)造方法與重載創(chuàng)建一個類為該類定義三個構(gòu)造函數(shù)

分別執(zhí)行下列操作1、傳遞兩個整數(shù)值并找出其中較大的一個值

2、傳遞三個double值并求出其乘積3、傳遞兩個字符串值并檢查其是

否相同4、在main方法中測試構(gòu)造函數(shù)的調(diào)用

publicclasslianxi

publiclianxi(intx,inty)

{

if(x>y)

{

System.out.println(z,Themaxis"+x);

}

else

System.out.println(z/Themaxis"+y);

)

publiclianxi(doubledl,doubled2,doubled3)

{

doubleJi=dl*d2*d3;

System.out.printin(/zThemultiplyresultis"+ji);

}

publiclianxi(Stringsi,Strings2)

{

booleanb;

if(si.equals(s2))

b=true;

System.out.println(b);

}

else

{

b=false;

System.out.println(b);

)

)

publicstaticvoidmain(String1]dasd)

{

lianxic=newlianxi(1,2);

lianxicl=newlianxi(1,2,3);

lianxic2=newlianxi("nihao","nihao");

)

【練習題】".Static關(guān)鍵字與普通變量的區(qū)別創(chuàng)建一個名稱為

StaticDemo的類并聲明一個靜態(tài)變量和一個普通變量。對變量分別賦予

10和5的初始值。在main。方法中輸出變量值。

publicclassStaticDemo

privatestaticinti=10;

privateinty=5;

publicstaticvoidmain(String[]das)

{

StaticDemos=newStaticDemo();

System.out.printin(Z/Thestaticdigitis"+car.i+“\nandthe

normaldigitis"+s.y);

)

)

【練習題】15.繼承創(chuàng)建一個名稱為MainPackage的包使它包含

MainClass和MainSubClass類。MainClass類應(yīng)當包含變量聲明其值從

構(gòu)造函數(shù)中輸出。MainSubClass類從MainClass派生而來。試執(zhí)行下列操

作創(chuàng)建一個名稱為SamePackage的類使它導入上述包并創(chuàng)建一個

MainSubClass類的對象。

創(chuàng)建MainClass包一

packageMainPackage.Main;

publicclassMainClass

(

publicinti=10;

publicMainClass()

System.out.println(i);

}

創(chuàng)建MainSubClass包一

packageMainPackage.Main;

publicclassMainSubClassextendsMainClass

(

publicMainSubClass(){}

}

創(chuàng)建SamePackage類—

importMainPackage.Main.MainSubClass;

publicclassSamePackage

(

publicstaticvoidmain(String1]da)

MainSubClassm=newMainSubClass();

【練習題】16.包、繼承、構(gòu)造函數(shù)創(chuàng)建一個名稱為MainPackage的包

使它包含MainClass和MainSubClass類。MainClass類應(yīng)當包含變量聲明

其值從構(gòu)造方法中輸出。MainSubClass類從MainClass派生而來。試執(zhí)

行下列操作創(chuàng)建一個名稱為SamePackage的類使它導入上述包并創(chuàng)

建一個MainSubClass類的對象。

創(chuàng)建MainClass包一

packageMainPackage.Main;

publicclassMainClass

(

publicinti=10;

publicMainClass()

(

System.out.println(i);

}

)

創(chuàng)建MainSubClass包一

packageMainPackage.Main;

publicclassMainSubClassextendsMainClass

publicMainSubClass(){}

創(chuàng)建SamePackage類—

importMainPackage.Main.MainSubClass;

publicclassSamePackage

(

publicstaticvoidmain(String1]da)

(

MainSubClassm=newMainSubClass();

}

}

【練習題】17.繼承創(chuàng)建一個父類和子類父類有一個數(shù)據(jù)成員子類

繼承父類的該數(shù)據(jù)成員通過構(gòu)造函數(shù)初始化并顯示該數(shù)據(jù)成員的值。

classFather

(

publicinti=10;

}

classSonextendsFather

publiclianxi()

System.out.printin(i);

publicstaticvoidmain(String[]dsa)

{

Sons=newSon();

)

)

【練習題】18.覆蓋、繼承建立一個汽車Auto類包括輪胎個數(shù)汽車

顏色車身重量、速度等成員變量。并通過不同的構(gòu)造方法創(chuàng)建實例。至

少要求汽車能夠加速減速停車。再定義一個小汽車類Car繼

承Auto并添加空調(diào)、CD等成員變量覆蓋加速減速的方法

publicclassAuto

(

publicintluntai;

publicStringcolor;

publicdoubleweight;

publicintspeed;

publicAutoO(}

publicvoidJiasuO

System.out.printin(z/wozaijiasu");

publicvoidjiansu()

{

System.out.printin(z/wozaijiansu");

)

publicvoidtingzhi()

{

System.out.println(,zwobukaile");

)

publicstaticvoidmain(String[]dsa)

{

carc=newcar();

c.jiasuO;

c.jiansu();

}

)

classcarextendsAuto

(

publicStringair_condition;

publicStringcd;

publicvoidJiasuO

System.out.printin(z/woshijiaoche,wozaijiasu");

}

publicvoidjiansu()

{

System.out.printin(z/woshijianche,wozaijiansu");

)

)

【練習題】19.抽象類與繼承設(shè)計一個能細分為矩形、三角形、圓形和橢

圓形的“圖形”類。使用繼承將這些圖形分類找出能作為基類部分的共

同特征(如校準點)和方法(如畫法、初始化)并看看這些圖形是否能進一

步劃分為子類。本題只考慮實現(xiàn)思想不考慮具體實現(xiàn)的細節(jié)實現(xiàn)方

式可自由發(fā)揮。

abstractclasstuxing

(

publictuxing()

System,out.printin(z/iamtuxing");

publicstaticvoidmain(String[]dsa)

juxingj=newjuxingO;

circlec=newcircleO;

tuoyuant=newtuoyuanO;

)

}

classjuxingextendstuxing

(

publicjuxingO

{

System.out.printin(z/iamjuxing");

)

)

classcircleextendstuxing

(

publiccircle()

{

System.out.printin(z?iamcircle");

}

}

classtuoyuanextendscircle

publictuoyuanO

System.out.printin(z/iamtuoyuan");

【練習題】20.抽象類創(chuàng)建一個Vehicle類并將它聲明為抽象類。在

Vehicle類中聲明一個NoOfWheels方法使它返回一個字符串值。創(chuàng)建兩

個類Car和Motorbike從Vehicle類繼承并在這兩個類中實現(xiàn)

NoOfWheels方法。在Car類中應(yīng)當顯示“四輪車”信息而在Motorbike

類中應(yīng)當顯示“雙輪車”信息。創(chuàng)建另一個帶main方法的類在該類

中創(chuàng)建Car和Motorbike的實例并在控制臺中顯示消息。

publicclasslianxi

publicstaticvoidmain(String[]dsa)

Carc=newCar();

c.NoOfWheels();

Motorbikem=newMotorbike();

m.NoOfWheels();

abstractclassVehicle

publicvoidNoOfWheels(){}

)

classCarextendsVehicle

(

publicvoidNoOfWheels()

(

System,out.printin("四輪車");

}

)

classMotorbikeextendsVehicle

(

publicvoidNoOfWheels()

(

System,out.printin(“雙輪車");

【練習題】21.抽象類創(chuàng)建一個Vehicle類并將它聲明為抽象類。在

Vehicle類中聲明一個NoOfWheels方法使它返回一個字符串值。創(chuàng)建兩

個類Car和Motorbike從Vehicle類繼承并在這兩個類中實現(xiàn)

NoOfWheels方法。在Car類中應(yīng)當顯示“四輪車”信息而在Motorbike

類中應(yīng)當顯示“雙輪車”信息。創(chuàng)建另一個帶main方法的類在該類

中創(chuàng)建Car和Motorbike的實例并在控制臺中顯示消息。

publicclasslianxi

(

publicstaticvoidmain(String[]dsa)

{

Carc=newCar();

c.NoOfWheels();

Motorbikem=newMotorbike();

m.NoOfWheels();

)

)

abstractclassVehicle

(

publicvoidNoOfWheels(){}

}

classCarextendsVehicle

publicvoidNoOfWheels()

System,out.printin("四輪車");

}

}

classMotorbikeextendsVehicle

(

publicvoidNoOfWheels()

{

System,out.printin("雙輪車");

}

}

【練習題】22.接口創(chuàng)建一個名稱為Vehicle的接口在接口中添加兩

個帶有一個參數(shù)的方法start。和stopOo在兩個名稱分別為Bike和Bus

的類中實現(xiàn)Vehicle接口。創(chuàng)建一個名稱為interfaceDemo的類在

interfaceDemo的main()方法中創(chuàng)建Bike和Bus對象并訪問start()

和stopO方法。

publicinterfaceVehicle

publicvoidstart();

publicvoidstop();

}〃借口類

publicclassinterfaceDemo

(

publicstaticvoidmain(String[]dsa)

{

Bikebike=newBike();

bike,start();

bike,stop();

Busbus=newBus();

bus.start();

bus.stopO;

)

)

classBikeimplementsVehicle

(

publicvoidstart()

{

System.out.printin(z?iambike,iamrunning");

publicvoidstopO

System.out.printin(z/iambke,iamstop");

}

}

classBusimplementsVehicle

(

publicvoidstart()

{

System.out.printin(//iambus,iamrunning");

}

publicvoidstop()

{

System.out.printin(z/iambke,iamstop");

【練習題】23.接口創(chuàng)建一個名稱為Vehicle的接口在接口中添加兩

個帶有一個參數(shù)的方法start。和stopOo在兩個名稱分別為Bike和Bus

的類中實現(xiàn)Vehicle接口。創(chuàng)建一個名稱為interfaceDemo的類在

interfaceDemo的main。方法中創(chuàng)建Bike和Bus對象并訪問start()

和stopO方法。

publicinterfaceVehicle

publicvoidstart();

publicvoidstop();

}〃借口類

publicclassinterfaceDemo

(

publicstaticvoidmain(String[]dsa)

{

Bikebike=newBikeO;

bike,start();

bike,stop();

Busbus=newBus();

bus.start();

bus.stopO;

}

)

classBikeimplementsVehicle

(

publicvoidstart()

System.out.printin(z/iambike,iamrunning");

publicvoidstop()

System.out.printin(z/iambke,iamstop");

)

)

classBusimplementsVehicle

(

publicvoidstart()

{

System.out.printin(z?iambus,iamrunning");

}

publicvoidstopO

{

System.out.printin(/?iambke,iamstop");

)

)

【練習題】24.抽象類、繼承、接口綜合設(shè)計一個系統(tǒng)XXX門的實現(xiàn)過

程流程設(shè)計一張抽象的門Door那么對于這張門來說就應(yīng)該擁

有所有門的共性開門openDoor()和關(guān)門closeDoorO然后對門進行另

外的功能設(shè)計,防盜一theftproof()、防水一waterproof()、防彈

-bulletproofO,防火、防銹……要求利用繼承、抽象類、接口的知

識設(shè)計該門

接口Imen

publicinterfaceImen

publicvoidthrefproof();

publicvoidwaterproof();

publicvoidfireproof();

publicvoidbulletproof();

publicvoidrustproof();

}

publicclasslianxi

(

publicstaticvoidmain(String[]args)

{

menm=newmen();

m.opendoor();

m.closedoor();

abstractclassDoor

publicvoidopendoor(){};

publicvoidclosedoor(){};

}

classmenextendsDoorimplementsImen

(

publicvoidopendoor()

{

System.out.printin(z/icanopenthedoor");

)

publicvoidclosedoor()

{

System.out.printin(z/icanclosethedoor");

)

publicvoidthrefproof()

{

System.out.printin(z/icanthrefproof");

)

publicvoidwaterproof()

System.out.printin(z/icanwaterproof");

publicvoidfireproof()

System.out.printin(z/icanfireproofz/);

)

publicvoidbulletproof()

{

System.out.printin(//icanbulletproofz/);

)

publicvoidrustproof()

{

System.out.printin(z/icanrustproof");

)

【練習題】25.抽象類、繼承、接口綜合設(shè)計一個系統(tǒng)xxx純凈水生產(chǎn)

線目前流程是從某個地方把水取出來然后經(jīng)過緩沖過濾加熱和

放糖的步驟abstract水{publicvoid水();}interface過濾{}

interface緩沖{}interface加熱{}interface放糖{}class純凈水

1extends水imps過濾,緩沖{}class純凈水2extends水imps緩沖

{}class純凈水2extends水imps過濾{}。。。。

(重復上題的方法)

【練習題】26.綜合題定義一個抽象的〃Role〃類有姓名年齡性別等

成員變量1.要求盡可能隱臧所有變量(能夠私有就私有,能夠保護就不

要公有)再通過GetXXXO和SetXXXO方法對各變量進行讀寫。具有一個

抽象的play()方法該方法不返回任何值同時至少定義兩個構(gòu)造方法。

Role類中要體現(xiàn)出this的幾種用法。2.從Role類派生出一個

“Employee〃類該類具有Role類的所有成員構(gòu)造方法除外并擴展

salary成員變量同時增加一個靜態(tài)成員變量“職工編號ID”。同樣

要有至少兩個構(gòu)造方法要體現(xiàn)出this和super的幾種用法還要求覆

蓋play()方法并提供一個finalsing()方法。3."Manager"類繼承

"Employee”類有一個final成員變量"vehicle"4.在main。方法中制

造Manager和Employee對象,并測試這些對象的方法

abstractclassRolel

(

protectedStringname;

protectedintage;

protectedStringsex;

publicabstractvoidplayO;

publicRolel(){}

publicRolel(Strings,inti,Stringsi)

=s;

this.age=i;

this.sex=sl;

)

publicstaticvoidmain(String1]dsa)

(

Employeee=newEmployee();

e.id=1201012204;

e.salary=15000;

="youxiao”;

e.age=20;

e.sex="Man";

e.play();

e.singO;

Managerm=newManager();

System.out.printin(e.id);

System,out.printin(e.salary);

System.out.printin();

System,out.printin(e.age);

System.out.printin(e.sex);

System,out.printin(m.vehicle);

}

classEmployeeextendsRolel

(

protectedintid;

protectedintsalary;

publicEmployee(){}

publicEmployee(Strings,inti,Stringsi,intid,intsalary)

{

super(s,i,si);

this.id=id;

this.salary=salary;

)

publicvoidplay()

(

System.out.printin(z/icanpaly");

}

publicfinalvoidsingO

System,out.printin(z/icansing");

classManagerextendsEmployee

protectedfinalStringvehicle=//Lamborghiniz

溫馨提示

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

評論

0/150

提交評論