Java面向对象编程练习题_第1页
Java面向对象编程练习题_第2页
Java面向对象编程练习题_第3页
Java面向对象编程练习题_第4页
Java面向对象编程练习题_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【练习题】01.类的成员变量猜数字游戏

一个类A有一个成员变量v有一个初值100o定

义一个类对A类的成员变量V进行猜。如果大了则提示大了小了则提

示小了。等于则提示猜测成功。

importjava.util.*;

publicclasslianxi

(

publicstaticvoidmain(String[]dsa)

(

Aa=newA();

Scannerinput=newScanner(System,in);

while(1-1)

(

System.out.printin("请猜测数字”);

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。)设

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

最后在测试类Vehicle中的main。中实例化一个交通工具对象并通过方

法给它初始化speed,size的值并且通过打印出来。另外调用加速

减速的方法对速度进行改变。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.类的成员变量与方法、构造方法在程序中经常要对时间

进行操作但是并没有时间类型的数据。那么我们可以自己实现一个时

间类来满足程序中的需要。定义名为MyTime的类其中应有三个整型

成员时hour分minute秒second为了保证数据的

安全性这三个成员变量应声明为私有。为MyTime类定义构造方法以

方便创建对象时初始化成员变量。再定义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.构造方法编写Java程序模拟简单的计算器。定义名为

Number的类其中有两个整型数据成员nl和n2应声明为私有。编写构

造方法赋予nl和n2初始值再为该类定义加addition、减

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

法分别对两个成员变量执行加、减、乘、除的运算。在main方法中创

建Number类的对象调用各个方法并显示计算结果。

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.构造方法编写Java程序用于显示人的姓名和年龄。定

义一个人类Person该类中应该有两个私有属性姓名name和

年龄ageo定义构造方法用来初始化数据成员。再定义显示

display方法将姓名和年龄打印出来。在main方法中创建人类的实

例然后将信息显示。

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方法定义一个类该类有一个私有成员变

量通过构造方法将其进行赋初值并提供该成员的getXXXO和setXXXO

方法提示假设有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.构造方法与重载为"无名的粉”写一个类classWuMingFen

要求1.有三个属性面码:StringtheMa粉的分量(两)int

quantity是否带汤booleanlikeSoup2.写一个构造方法以

便于简化初始化过程如WuMingFenfl=newWuMingFen("牛肉

”,3,true);3.重载构造方法使得初始化过程可以多样化WuMingFen

f2=newWuMingFen("牛肉",2);4.如何使得下列语句构造出来的粉对象

是酸辣面码、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.构造方法的重载定义一个名为Vehicles交通工具

的基类该类中应包含String类型的成员属性brand商标和color

颜色还应包含成员方法run行驶在控制台显示“我已经开动了”

和showinfo显示信息在控制台显示商标和颜色并编写构造方

法初始化其成员属性。编写Car小汽车类继承于Vehicles类增加

int型成员属性seats座位还应增加成员方法showCar在控制台

显示小汽车的信息并编写构造方法。编写Truck卡车类继承于

Vehicles类增加float型成员属性load载重还应增加成员方法

showTruck在控制台显示卡车的信息并编写构造方法。在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.构造方法与重载定义一个网络用户类要处理的信息有用

户ID、用户密码、email地址。在建立类的实例时把以上三个信息都作

为构造函数的参数输入其中用户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.构造方法与重载、包编写Addition类该类中应包含一

组实现两数相加运算的重载方法。实现加法运算的方法应接受两个参

数即加数和被加数方法将两个参数进行加法运算后返回相加结

果。考虑可能针对不同的数据类型进行计算重载一组方法包括整型、

长整型、浮点型、双精度浮点型、还有字符串。在main方法中创建Addition

类的实例分别调用重载方法测试其效果。应将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.构造方法与重载将上次练习题三中编写的MyTime类打到

以自己名字的拼音命名的包中并为该类重载一组构造方法以方便使

用者能够以多种形式初始化该类的实例。

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.构造方法与重载建立一个汽车类包括轮胎个数汽车颜

色车身重量等属性。并通过不同的构造方法创建事例。至少要求

汽车能够加速减速停车。要求命名规范代码体现层次有

友好的操作提示。

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.构造方法与重载创建一个类为该类定义三个构造函数

分别执行下列操作1、传递两个整数值并找出其中较大的一个值

2、传递三个double值并求出其乘积3、传递两个字符串值并检查其是

否相同4、在main方法中测试构造函数的调用

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关键字与普通变量的区别创建一个名称为

StaticDemo的类并声明一个静态变量和一个普通变量。对变量分别赋予

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.继承创建一个名称为MainPackage的包使它包含

MainClass和MainSubClass类。MainClass类应当包含变量声明其值从

构造函数中输出。MainSubClass类从MainClass派生而来。试执行下列操

作创建一个名称为SamePackage的类使它导入上述包并创建一个

MainSubClass类的对象。

创建MainClass包一

packageMainPackage.Main;

publicclassMainClass

(

publicinti=10;

publicMainClass()

System.out.println(i);

}

创建MainSubClass包一

packageMainPackage.Main;

publicclassMainSubClassextendsMainClass

(

publicMainSubClass(){}

}

创建SamePackage类—

importMainPackage.Main.MainSubClass;

publicclassSamePackage

(

publicstaticvoidmain(String1]da)

MainSubClassm=newMainSubClass();

【练习题】16.包、继承、构造函数创建一个名称为MainPackage的包

使它包含MainClass和MainSubClass类。MainClass类应当包含变量声明

其值从构造方法中输出。MainSubClass类从MainClass派生而来。试执

行下列操作创建一个名称为SamePackage的类使它导入上述包并创

建一个MainSubClass类的对象。

创建MainClass包一

packageMainPackage.Main;

publicclassMainClass

(

publicinti=10;

publicMainClass()

(

System.out.println(i);

}

)

创建MainSubClass包一

packageMainPackage.Main;

publicclassMainSubClassextendsMainClass

publicMainSubClass(){}

创建SamePackage类—

importMainPackage.Main.MainSubClass;

publicclassSamePackage

(

publicstaticvoidmain(String1]da)

(

MainSubClassm=newMainSubClass();

}

}

【练习题】17.继承创建一个父类和子类父类有一个数据成员子类

继承父类的该数据成员通过构造函数初始化并显示该数据成员的值。

classFather

(

publicinti=10;

}

classSonextendsFather

publiclianxi()

System.out.printin(i);

publicstaticvoidmain(String[]dsa)

{

Sons=newSon();

)

)

【练习题】18.覆盖、继承建立一个汽车Auto类包括轮胎个数汽车

颜色车身重量、速度等成员变量。并通过不同的构造方法创建实例。至

少要求汽车能够加速减速停车。再定义一个小汽车类Car继

承Auto并添加空调、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.抽象类与继承设计一个能细分为矩形、三角形、圆形和椭

圆形的“图形”类。使用继承将这些图形分类找出能作为基类部分的共

同特征(如校准点)和方法(如画法、初始化)并看看这些图形是否能进一

步划分为子类。本题只考虑实现思想不考虑具体实现的细节实现方

式可自由发挥。

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.抽象类创建一个Vehicle类并将它声明为抽象类。在

Vehicle类中声明一个NoOfWheels方法使它返回一个字符串值。创建两

个类Car和Motorbike从Vehicle类继承并在这两个类中实现

NoOfWheels方法。在Car类中应当显示“四轮车”信息而在Motorbike

类中应当显示“双轮车”信息。创建另一个带main方法的类在该类

中创建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.抽象类创建一个Vehicle类并将它声明为抽象类。在

Vehicle类中声明一个NoOfWheels方法使它返回一个字符串值。创建两

个类Car和Motorbike从Vehicle类继承并在这两个类中实现

NoOfWheels方法。在Car类中应当显示“四轮车”信息而在Motorbike

类中应当显示“双轮车”信息。创建另一个带main方法的类在该类

中创建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.接口创建一个名称为Vehicle的接口在接口中添加两

个带有一个参数的方法start。和stopOo在两个名称分别为Bike和Bus

的类中实现Vehicle接口。创建一个名称为interfaceDemo的类在

interfaceDemo的main()方法中创建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.接口创建一个名称为Vehicle的接口在接口中添加两

个带有一个参数的方法start。和stopOo在两个名称分别为Bike和Bus

的类中实现Vehicle接口。创建一个名称为interfaceDemo的类在

interfaceDemo的main。方法中创建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.抽象类、继承、接口综合设计一个系统XXX门的实现过

程流程设计一张抽象的门Door那么对于这张门来说就应该拥

有所有门的共性开门openDoor()和关门closeDoorO然后对门进行另

外的功能设计,防盗一theftproof()、防水一waterproof()、防弹

-bulletproofO,防火、防锈……要求利用继承、抽象类、接口的知

识设计该门

接口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.抽象类、继承、接口综合设计一个系统xxx纯净水生产

线目前流程是从某个地方把水取出来然后经过缓冲过滤加热和

放糖的步骤abstract水{publicvoid水();}interface过滤{}

interface缓冲{}interface加热{}interface放糖{}class纯净水

1extends水imps过滤,缓冲{}class纯净水2extends水imps缓冲

{}class纯净水2extends水imps过滤{}。。。。

(重复上题的方法)

【练习题】26.综合题定义一个抽象的〃Role〃类有姓名年龄性别等

成员变量1.要求尽可能隐臧所有变量(能够私有就私有,能够保护就不

要公有)再通过GetXXXO和SetXXXO方法对各变量进行读写。具有一个

抽象的play()方法该方法不返回任何值同时至少定义两个构造方法。

Role类中要体现出this的几种用法。2.从Role类派生出一个

“Employee〃类该类具有Role类的所有成员构造方法除外并扩展

salary成员变量同时增加一个静态成员变量“职工编号ID”。同样

要有至少两个构造方法要体现出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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论