面向对象复习题docx.docx
- 文档编号:29110212
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:10
- 大小:19.31KB
面向对象复习题docx.docx
《面向对象复习题docx.docx》由会员分享,可在线阅读,更多相关《面向对象复习题docx.docx(10页珍藏版)》请在冰豆网上搜索。
面向对象复习题docx
1.按要求编写Java应用程序。
(1)建立一个名叫Cat的类:
屈性:
姓名、毛色、年龄
彳丁为:
显不姓名、喊叫
(2)编写主类:
创建一个对象猫,姓名为“妮妮二毛色为“灰色J年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。
publicclassCat{
Stringname;
Stringcolor;
intage;
publicvoidShowNme(){
System.out.println(”我叫''+name);
}
publicvoidBark(){
System.out.println("ufio§—");
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstubCatcat=newCat();
cat.name="妮妮";
cat.color="灰色”;cat.age=2;
cat.ShowNme();
cat.Bark();
System.out:
.printing毛色:
H+cat.color);System.out.printlnC年龄:
H+cat.age);
2.按要求编写Java应用程序。
(1)创建一个叫做People的类:
屈性:
姓名、年龄、性别、身高
行为:
说话、计算加法、改名
编写能为所有屈性赋值的构造方法;
(2)创建主类:
创建一个对象:
名叫“张三二性别“男二年龄18岁,身高1.80;让该对象调用成员方法:
说岀“你好!
"
publicclassPeople{
Stringname;
intage;
Stringsex;
doubleheight;
publicPeople(Stringname,intage,Stringsex,doubleheight)}this.name=name;
this.age=age;
this.sex=sex;
this.height=height;
}
publicvoidspeak(){System.out.println("你好!
”);
}
publicvoidadd(){publicvoidrename(){
publicclassTest{
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Peoplepeople=newPeople("张三",1&"男”,1.80);
people.name=n张三”;
people.age=18;
people.sexi男”;
people.height=l.80;
people.speak();
System.out.println("姓名:
"4-people.name+n\n年龄:
”+people.age+"\n性别:
,+people.sex+n\n身高:
”+people.height);
}
3.利用接口做参数,写个计算器,能完成+・*/运算
(1)定义一个接口Compute含有一个方法intcomputer(intn,intm);
(2)设计四个类分别实现此接口,完成+・*/运算
(3)设i^一个类UseCompute,含有方法:
publicvoiduseCom(Computecom,intone,inttwo)此方法要求能够:
a.用传递过来的对彖调用computer方法完成运算
b.输出运算的结果
(4)设i^一个测试类,调用UseCompute中的方法useCom来完成+・*/运算publicinterfaceCompute{
intcomputer(intnjntm);
publicclassCompute1implementsCompute}
}
publicclassCompute2implementsCompute!
publicintcomputer(intn.intm){
returnn-m;
}
}
publicclassCompute3implementsCompute}
publicintcomputer(intn.intm){
returnn*m;
}
}
publicclassCompute4implementsCompute}
publicintcomputer(intn.intm){
returnn/m;
}
}
publicclassUseCompute{
publicvoiduseCom(Computecomjntone,initwo){puter(one,two);
}
}
*@paramargs
*/
publicstaticvoidmain(Stringnargs){
//TODOAuto-generatedmethodstub
Computec1=newCompute1();
System.out.prinlln(c1.computer(10,2));
Computec2=newCompute2();
System.out.prinlln(puter(l0,2));
Computec3=newCompule3();
System.out.prinlln(puter(l0,2));
Computec4=newCompute4();
System.out.prinlln(puter(l0,2));
}
4.编写一个Java应用程序,该程序包括3个类:
Monkey类、People类和主类
Eo
(1)Monkey类中有个构造方法:
Monkey(Strings),并且有个publicvoidspeak()方法,在speak方法中输岀“咿咿呀呀……”的信息。
(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!
会说话了!
”的信息。
⑶在People类中新增方法voidthink(),在think方法中输出“别说话!
认真思考!
”的信息。
(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。
publicclassPeopleextendsMonkey{
publicPeople(Strings){
super(s);
}
}
publicvoidlhink()(
System.out.printlnC'别说话!
认真思考!
”);
publicclassE{
*@paramargs
*/
publicstaticvoidmain(Stringnargs){
//TODOAuto-generatedmethodstub
Monkeymonkey=newMonkey(nan);
monkey.speak();
Peoplepeople=newPeople(Han);
people.speak();
people.think();
publicclassMonkey{
publicMonkey(Strings){
}
publicvoidspeak(){
System.out.printlnC1咿咿呀呀H);
5.编写一个Java应用程序,设计一个汽车类Vehicle,包含的屈性有车轮个数wheels和车重weight□小车类Car是Vehicle的子类,其中包含的屈性有载人数loadero卡车类Truck是Car类的子类,其中包含的屈性有载重量payloado每个类都有构造方法和输出相关数据的方法。
最后,写一个测试类来测试这些类的功能。
publicclassVehicle{
intwheels;
doubleweight;
publicVehicle(intwheels,doubleweight){this.wheels=wheels;
this.weight=weight;
}
publicvoidprint(){
System.out.println(n汽车:
n+H\n车轮有H+wheels+H个”+”\n车重:
H+weight+M吨”);
}
}
publicclassCarextendsVehicle{
intloader;
publicCar(intwheels^doubleweightjntloader){
super(wheels,weight);
this.loader=loader;
}
publicvoidprint(){
System.out.println(n汽车:
n+H\n车轮有H+wheels+H个”
+n\n车重:
H+weight+n吨”+”\n载人数:
H+loader);
publicclassTruckextendsCar{
doublepayload;
publicTruck(intwheels,doubleweight,intloader,doublepayload){
super(wheels,weightJoader);
this.payload=payload;
}
publicvoidprint(){
System.out.println(n汽车:
H+H\n车轮有H+wheels+n个"+n\n车重:
n+weight+n吨"+"\n载人数:
H+loader);
}
}
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Vehiclevi=newVehicle(4,2);
vi.print();
Carcar=newCar(4,5,3);
car.print();
Trucktruck=newTmck(6,3,5,6);
truck.print();
6.实现如下类之间的继承关系,并编写Music类来测试这些类。
Instrument类
输出弹奏乐器”
pubIicvoidpIay0
S
Wind类
Brass类
〃辙岀"弹奏Wind,?
//输ar弹奏brass"
pub1icvoidp1ay0
pub1icvoidp1ay()
//输出輕调用wind的play2T
二输出"调用brass的p1ay2':
pub1icvoidp1ay20;
pub1icvoidp1ay20;
Music类
//调用对象i的play方法
publicstaticvoidUJDsIhjStXMSlSOti)
PubIicstaticvoid殴瘠敷惑□){
//调用tune方法,以Wind类对氮为参数
//调用3门巳方法・•以Brass55对象为参数
}
publicclassInstrument{
publicvoidplay(){
System,out.println(”弹奏乐器”);
}
}
publicclassWindextendsInstrument{
publicvoidplay(){
System.out.println(”弹奏Wind");
}
publicvoidplay2(){
System.out.println("调用wind的play2");
publicclassBrassextendsInstrument{
publicvoidplay(){
System.out.println("弹奏Brass");
}
publicvoidplay2(){
System.out.println("调用brass的play2");
}
}
publicclassTest{
/**
*@paramargs
publicstaticvoidtune(Instrumenti){
i.playO;
}
publicstaticvoidmain(Stringflargs){
//TODOAuto-generatedmethodstub
Windw=newWind();
tune(w);
Brassb=newBrass();
tune(b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 复习题 docx