面向对象基础参考答案.docx

上传人:b****6 文档编号:4432373 上传时间:2022-12-01 格式:DOCX 页数:13 大小:44.73KB
下载 相关 举报
面向对象基础参考答案.docx_第1页
第1页 / 共13页
面向对象基础参考答案.docx_第2页
第2页 / 共13页
面向对象基础参考答案.docx_第3页
第3页 / 共13页
面向对象基础参考答案.docx_第4页
第4页 / 共13页
面向对象基础参考答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

面向对象基础参考答案.docx

《面向对象基础参考答案.docx》由会员分享,可在线阅读,更多相关《面向对象基础参考答案.docx(13页珍藏版)》请在冰豆网上搜索。

面向对象基础参考答案.docx

面向对象基础参考答案

一、【必做题】

Ⅰ.选择题

1、列选项中哪个是类publicclassTest{}的默许构造方式__C__?

A.Test();

B.Test(void);

C.publicTest();

D.publicTest(void);

E.publicvoidTest();

2、给定下列代码的执行结果是_E___?

publicclassA{

voidA(){

A”);

}

publicstaticvoidmain(String[]args){

newA();

}

}

A.ClassAB.在第2行处抛出异样

C.编译错误D.在第6行处抛出异样

E.代码执行后没有输出

***3、给定以下代码:

1.publicclassConstOver{

2.publicConstOver(intx,inty,intz){

3.}

4.}

下列选项中,哪些可以在ConsOver类中概念成重载的构造方式___AC_:

A.ConstOver(){}

B.intConstOver(){}

C.ConstOver(intz,inty,bytex){}

D.ObjectConstOver(intx,inty,intz){}

E.voidConstOver(bytex,bytey,bytez){}

4、以下代码的执行结果是__A___?

编译失败B.编译成功,输出“0”

C.编译成功,输出“1”D.编译成功,输出“2”

5、以下代码的执行结果是__C___?

A.代码编译成功,而且打印“s=”

B.代码编译成功,而且打印“s=null”

C.代码编译失败,因为s为被初始化

D.代码编译失败,因为s不可以被引用

E.代码编译成功,可是运行时抛出NullPointerException

6、给定以下代码:

12.voidstart(){

13.Aa=newA();

14.Bb=newB();

15.(b);

16.b=null;

17.a=null;

18.completed”);

}

对于在第14行创建的对象b,系统何时会对它进行垃圾回收_D___?

A.在第16行以后B.在第17行以后

C.在第18行以后(当函数执行完成后)D.无法肯定

E.垃圾回收器不会回收该对象

Ⅱ.程序分析题

1、在指定位置上填写正确的代码:

publicclassCircleStatic

{

staticdoublepi=;

intradius=100;

publicstaticvoidmain(String[]args)

{

_pi_);程题

1.

(1)概念一个人类Person:

1)概念一个方式sayHello(),可以向对方发出问候语“hello,mynameisXXX”

2)有三个属性:

名字、身高、体重

(2)概念一个PersonCreate类:

1)创建两个对象,别离是zhangsan,33岁,;lishi,44,

2)别离挪用对象的sayHello()方式。

(答案:

、)

2.

(1)概念一个人类Person:

1)概念一个方式sayHello(),可以向对方发出问候语“hello,mynameisXXX”

2)有三个属性:

名字、身高、体重

3)通过构造方式,别离给三个属性赋值

(2)概念一个Constructor类:

1)创建两个对象,别离是zhangsan,33岁,;lishi,44,

2)别离挪用对象的sayHello()方式。

(答案:

、或是)

3.

(1)概念一个矩形类Rectangle:

1)概念三个方式:

getArea()求面积、getPer()求周长,showAll()别离在控制台输出长、宽、面积、周长。

2)有2个属性:

长length、宽width

3)通过构造方式Rectangle(intwidth,intlength),别离给两个属性赋值(答案:

4.概念一个点类Point,包括2个成员变量x、y别离表示x和y坐标,2个构造器Point()和Point(intx0,y0),和一个movePoint(intdx,intdy)方式实现点的位置移动。

()

publicclassPoint{

privateintx0;

privateinty0;

publicPoint()

{

}

publicPoint(intx0,inty0)

{

=x0;

=y0;

}

publicvoidmovePoint(intdx,intdy){

=+dx;

=+dy;

}

}

5.编写一个程序,创建两个Point对象p一、p2,别离调研movePoint方式后,打印p1和p2的坐标。

publicclassPoint{

privateintx0;

privateinty0;

publicPoint()

{

}

publicPoint(intx0,inty0)

{

=x0;

=y0;

}

publicvoidmovePoint(intdx,intdy){

=+dx;

=+dy;

}

}

6.

(1)概念一个动物类Creature

1)概念一个方式setSnarl(Catcat)可以设置动物发出猫的声音

2)setSnarl(Dogdog)可以设置动物发出狗的声音

3)概念一个outPut()方式,可以输出动物的声音

(2)要求概念一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方式setSnarl(Catcat)可以设置动物发出猫的声音

(3)要求概念一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方式setSnarlDogdog)可以设置动物发出狗的声音

(4)概念一个Sound类,在main方式里挪用Creature类的setSnarl()和outPut()方式别离设置动物的声音和输出动物的声音

效果显示:

7.概念一个圆类Circle,描述圆对象。

圆有一个属性radius表示半径,还有一个findArea方式用于计算圆的面积。

概念一个测试类。

给半径赋值为5,而且输出圆的面积。

}

8、概念一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。

(1)无参和有参的两个构造方式;有参构造方式可以在创建对象的同时为每一个属性赋值;

(2)输出笔记本信息的方式

然后编写一个测试类,测试笔记本类的各个方式。

publicclassComputeTest{

publicstaticvoidmain(String[]args){

Computerc1=newComputer();

();

Computerc2=newComputer('红',32);

();

}

}

classComputer{

privatecharcolor;

privateintcpuNum;

publicComputer(){

}

publicComputer(charcolor,intcpuNum){

=color;

=cpuNum;

}

publicchargetColor(){

returncolor;

}

publicvoidsetColor(charcolor){

=color;

}

publicintgetCpuNum(){

returncpuNum;

}

publicvoidsetCpuNum(intcpuNum){

=cpuNum;

}

publicvoidshowComputer(){

"笔记本的颜色:

"+getColor());

"笔记本的CPU型号:

"+getCpuNum());

}

}

9.概念一个汽车类Vehicle,要求如下:

(1)属性包括:

汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型),而且所有属性为私有。

(2)至少提供一个有参的构造方式(要求品牌和颜色可以初始化为任意值,但速度的初始值必需为0)。

(3)为私有属性提供访问器方式。

注意:

汽车品牌一旦初始化以后不能修改。

(4)概念一个一般方式run(),用打印语句描述汽车奔跑的功能

概念测试类VehicleTest,在其main方式中创建一个品牌为“benz”、颜色为“black”的汽车。

publicclassVehicle{

privateStringbrand;

privateStringcolor;

privatedoublespeed;

Vehicle(){

}

Vehicle(Stringbrand,Stringcolor){

=brand;

=color;

speed=0;

}

publicStringgetColor(){

returncolor;

}

publicvoidsetColor(Stringcolor){

=color;

}

publicdoublegetSpeed(){

returnspeed;

}

publicvoidsetSpeed(doublespeed){

=speed;

}

publicvoidrun(){

"的"+getBrand()+"的速度是"+getSpeed());

}

publicStringgetBrand(){

returnbrand;

}

二、【选做题】

1、

(1)编写一个时间类MyTime,包括一个构造方式,3个私有成员变量hour,minute,second和与它们相对应的get与set方式(如hour有getHour和setHour方式,别离表示取得和设置hour),再加上一个转换成字符串的方式toString。

(2)编写一个日期类MyDate,包括一个构造方式,3个私有成员变量year,month,day和与它们相对应的get与set方式,再加上一个转换成字符串的方式toString。

(3)编写一个FullTime类,包括一个MyTime类型的私有成员变量time和一个MyDate类型的成员变量date,和与它们相对应的get与set方式,一个构造方式,再加上一个转换成字符串的方式toString。

(4)假设当前时间是2002年7月30日22点12分35秒,编写一个程序,用FullTime类设置时间为以上时间,并打印。

publicclassMytimeTest{

publicstaticvoidmain(String[]args){

MyTimemyTime=newMyTime();

(20);

(20);

(18);

MyDatemyDate=newMyDate();

(2012);

(4);

(10);

+());

}

}

classMyTime{

privateinthour;

privateintminute;

privateintsecond;

publicintgetHour(){

returnhour;

}

publicvoidsetHour(inthour){

=hour;

}

publicintgetMinute(){

returnminute;

}

publicvoidsetMinute(intminute){

=minute;

}

publicintgetSecond(){

returnsecond;

}

publicvoidsetSecond(intsecond){

=second;

}

@Override

publicStringtoString(){

returnhour+"点"+minute+"分"+second+"秒";

}

}

classMyDate{

privateintyear;

privateintmonth;

privateintday;

publicintgetYear(){

returnyear;

}

publicvoidsetYear(intyear){

=year;

}

publicintgetMonth(){

returnmonth;

}

publicvoidsetMonth(intmonth){

=month;

}

publicintgetDay(){

returnday;

}

publicvoidsetDay(intday){

=day;

}

@Override

publicStringtoString(){

returnyear+"年"+month+"月"+day+"日";

}

}

2、设计一个类Student,该类包括姓名、学号和成绩。

设计一个方式,依照成绩从高到低的顺序输出姓名、学号和成绩信息。

publicclassStudent{

privateStringname;

privateStringnumber;

privateintscore;

publicStudent(){

}

publicStudent(Stringname,Stringnumber,intscore){

=name;

=number;

=score;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

publicStringgetNumber(){

returnnumber;

}

publicvoidsetNumber(Stringnumber){

=number;

}

publicintgetScore(){

returnscore;

}

publicvoidsetScore(intscore){

=score;

}

publicvoidsortByScore(Student[]students){

intmax=students[0].score;

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

for(intj=0;j<;j++){

if(students[i].getScore()>students[j].getScore()){

Studentb=students[i];

students[i]=students[j];

students[j]=b;

}

}

}

"按成绩排序后的结果如下:

");

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

+""+students[i].getNumber()+""+students[i].getScore());

}

}

}

publicclassStudentTest{

publicstaticvoidmain(String[]args){

Students1=newStudent("Kitty","0000001",70);

Students2=newStudent("Dingdang","0000002",85);

Students3=newStudent("Tom","0000003",60);

Student[]students=newStudent[]{s1,s2,s3};

Students=newStudent();

(students);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1