第五章题库.docx
- 文档编号:30040602
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:23
- 大小:22.40KB
第五章题库.docx
《第五章题库.docx》由会员分享,可在线阅读,更多相关《第五章题库.docx(23页珍藏版)》请在冰豆网上搜索。
第五章题库
一、选择题
1定义类头时,不可能用到的关键字是()。
A)classB)privateC)extendsD)public
2.下列类定义中,不正确的是()。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
3.下列类头定义中,错误的是()。
A)publicxextendsy{...}
B)publicclassxextendsy{...}
C)classxextendsyimplementsy1{...}
D)classx{...}
4.设A为已定义的类名,下列声明A类的对象a的语句中正确的是()。
A)floatAa;B)publicAa=A();
C)Aa=newint();D)staticAa=newA();
5.设A为已定义的类名,下列声明A类的对象a的语句中正确的是()。
A)publicAa=newA();B)publicAa=A();
C)Aa=newclass();D)aA;
6.设X、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是()。
A)publicXx1=newY();B)Xx1=X();
C)Xx1=newX();D)intXx1;
7.设X、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是()。
A)staticXx1;B)publicXx1=newX(int123);
C)Yx1;D)Xx1=X();
8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现:
_______________________________。
9.设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是()。
A)voidX(intk){i=k;}B)X(intk){i=k;}
C)X(intm,intn){i=m;j=n;}D)X(){i=0;j=0;}
10.有一个类A,以下为其构造方法的声明,其中正确的是()。
A)publicA(intx){...}B)staticA(intx){...}
C)publica(intx){...}D)voidA(intx){...}
11.有一个类A,以下为其构造方法的声明,其中正确的是()。
A)voidA(intx){...}B)A(intx){...}
C)a(intx){...}D)voida(intx){...}
12.设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是()。
A)X(intm){...}B)voidX(intm){...}
C)X(intm,intn){...}D)X(inth,intm,intn){...}
13.设i,j为类X中定义的double型变量名,下列X类的构造方法中不正确的是()。
A)doubleX(doublek){i=k;returni;}C)X(){i=6;j=8;}
B)X(doublem,doublen){i=m;j=n;}D)X(doublek){i=k;}
14.设a,b为类MyClass中定义的int型变量名,下列MyClass类的构造方法中不正确的是()。
A)doubleMyClass(doublek){a=k;returna;}
B)MyClass(){a=6;b=8;}
C)MyClass(doublem,doublen){a=m;b=n;}
D)MyClass(doublek){a=k;}
15定义类头时,不可能用到的关键字是()。
A)protectedB)classC)extendsD)public
16.下列类头定义中,错误的是()。
A)publicTestClassextendsy{...}
B)publicclassTestClassextendsy{...}
C)classTestClassextendsyimplementsy1{...}
E)classTestClass{...}
17.设B为已定义的类名,下列声明B类的对象b的语句中正确的是()。
A)floatBb;B)publicBb=B();
C)Bb=newint();D)staticBb=newB();
18.设ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是()。
A)publicClassAca=newClassA();B)publicClassAca=ClassA();
C)ClassAca=newclass();D)caClassA;
19.设A、B均为已定义的类名,下列声明类A的对象a1的语句中正确的是()。
A)publicAa1=newB();B)Aa1=A();
C)Aa1=newA();D)intAa1;
20.设A、B为已定义的类名,下列声明A类的对象a1的语句中正确的是()。
A)staticAa1;B)publicAa1=newA(int123);
C)Ba1;D)Aa1=A();
21.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现:
_______________________________。
22.设m,n为类A中定义的int型变量名,下列A类的构造方法中不正确的是()。
A)voidA(intk){m=k;}B)A(intk){m=k;}
C)A(intm,intn){m=i;n=j;}D)A(){m=0;n=0;}
23.有一个类Person,以下为其构造方法的声明,其中正确的是()。
A)publicPerson(intx){...}B)staticPerson(intx){...}
C)publica(intx){...}D)voidPerson(intx){...}
24.有一个类Student,以下为其构造方法的声明,其中正确的是()。
A)voidStudent(intx){...}B)Student(intx){...}
C)s(intx){...}D)voids(intx){...}
25.设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是()。
A)School(intm){...}B)voidSchool(intm){...}
C)School(intm,intn){...}D)School(inth,intm,intn){...}
二、填空题
1.下面是一个类的定义,请完成程序填空。
publicclass____________
{
intx,y;
Myclass(inti,_______)//构造方法
{
x=i;y=j;
}
}
2.下面是一个类的定义,请将其补充完整。
class_____
{
Stringname;
intage;
Student(_____s,inti)
{
name=s;
age=i;
}
}
3.下面是一个类的定义,请将其补充完整。
class____________//定义名为myclass的类
{
__________intvar=666;
staticintgetvar()
{returnvar;}
}
4.下面程序的功能是通过调用方法max()求给定的三个数的最大值,
请将其补充完整。
publicclassClass1
{
publicstaticvoidmain(Stringargs[])
{
inti1=1234,i2=456,i3=-987;
intMaxValue;
MaxValue=____________;
System.out.println("三个数的最大值:
"+MaxValue);
}
public______intmax(intx,inty,intz)
{inttemp1,max_value;
temp1=x>y?
x:
y;
max_value=temp1>z?
temp1:
z;
returnmax_value;
}
}
5.下面是一个类的定义,请将其补充完整。
___________A
{Strings;
_____inta=666;
A(Strings1){s=s1;}
staticintgeta(){returna;}
}
6.下面是一个类的定义,请完成程序填空。
publicclass____________
{
inta,b;
Room(intm,_______)//构造方法
{
a=m;b=n;
}
}
7.下面是一个类的定义,请将其补充完整。
_____Teacher
{
Stringname;
intage;
Teacher(_____s,inti)
{
name=s;
age=i;
}
}
8.下面是一个类的定义,请将其补充完整。
class____________//定义名为Desk的类
{
__________intvar=666;
staticintgetvar()
{returnvar;}
}
9.下面程序的功能是通过调用方法max()求给定的二个整数的最大值,
请将其补充完整。
publicclassClass1
{
publicstaticvoidmain(Stringargs[])
{
inta1=1234,a2=456;
intMaxValue;
MaxValue=____________;
System.out.println("二个数的最大值:
"+MaxValue);
}
publicstatic______max(intx,inty)
{intmax_value;
max_value=x>y?
x:
y;
returnmax_value;
}
}
10.下面是一个类的定义,请将其补充完整。
___________Bank
{Strings;
_____inta=666;
Bank(Strings1){s=s1;}
staticintgeta(){returna;}
}
三、程序阅读题
1.下面是一个类的定义,根据题目要求回答以下问题.
classB
{
privateintx;
privatechary;
publicB(inti,charj)
{
x=i;y=j;
}
publicvoidshow()
{
System.out.println("x="+x+";y="+y);
}
publicvoidmethodC(intx)
{
this.x=this.x+x;
y++;
show();
}
}
(1)定义类B的一个对象b,将类中的变量x初始化为10、变量y初始化为’A’,请写出相应的语句。
(2)若在
(1)问基础上有方法调用语句:
b.show();
则输出如何?
(3)若在
(1)问基础上增加语句:
b.methodC
(1);则输出为何?
(x=11;y=B)
2.阅读程序,回答问题。
publicclassTest52
{
Stringstaticstr1="Hello,Javaworld!
\t";
Stringstaticstr2="Hello,students!
";
publicstaticvoidmain(Stringargs[])
{System.out.print(str1);System.out.println(str2);}
}
问题:
1)这是哪种形式的java程序?
2)程序的输出是什么?
3.写出下列程序的输出结果
publicclassTest
{
publicstaticvoidmain(String[]args)
{
CountmyCount=newCount();
inttimes=0;
for(inti=0;i<100;i++)
increment(myCount,times);
System.out.println(“countis”+myCount.count);
System.out.println(“timeis”+times);
}
publicstaticvoidincrement(Countc,inttimes)
{
c.count++;
times++;
}
}
classCount
{
publicintcount;
Count(intc)
{
count=c;
}
Count()
{
count=1;
}
}
4.写出下列程序的输出结果:
publicclassTest
{
publicstaticvoidmain(String[]args)
{
Cireclecircle1=newCircle
(1);
Cireclecircle2=newCircle
(2);
//Attempttoswapcircle1withcircle2
System.out.println(“Beforeswap:
circle1=”+circle1.radius
+”circle2=”+circle2.radius);
swap(circle1,circle2);
System.out.println(“Afterswap:
circle1=”+circle1.radius
+”circle2=”+circle2.radius);
}
publicstaticvoidswap(Circlex,Circley)
{
System.out.println(“Beforeswap:
x=”+x.radius
+”y=”+y.radius);
Circletemp=x;
x=y;
y=temp;
System.out.println(“Beforeswap:
x=”+x.radius
+”y=”+y.radius);
}
}
5.阅读下面程序,回答问题:
publicclassFoo
{
inti;
staticStrings;
voidimethod()
{
}
staticvoidsmethod()
{
}
}
设f是Foo的一个实例,下列语句正确吗?
System.out.println(f.i);
System.out.println(f.s);
f.imethod();
f.smethod();
System.out.println(Foo.i);
System.out.println(Foo.s);
Foo.imethod();
Foo.smethod();
6.下列程序的输出结果是什么?
publicclassFoo
{
staticinti=0;
staticintj=0;
publicstaticvoidmain(String[]args)
{
inti=2;
intk=3;
{
intj=3;
System.out.println(“i+jis”+i+j);
}
k=i+j;
System.out.println(“kis”+k);
System.out.println(“jis”+j);
}
}
四、简答题
1.面向对象的软件开发方法用什么把数据和基于数据的操作封装在一起?
2.在一个类定义中,用什么描述对象的状态?
用什么描述对象的行为?
3.什么方法是一个特殊的方法,用于对对象进行初始化?
4.一个源程序文件中,能有多于一个的public类吗?
5.构造方法的方法名可由编程人员任意命名吗?
6.类的构造方法名必须和类名相同吗?
7.构造函数有返回值吗?
8.构造函数可以重载吗?
9.如果一个类定义中没有定义构造方法,该类有构造函数吗?
10.如果一个类定义中已经定义了构造方法,java还会给它定义缺省的构造方法吗?
11.类的访问控制权有哪两种?
12.用什么修饰符修饰的方法称为静态方法?
用什么修饰符修饰的属性称为静态属性?
13.静态属性和静态方法仅属于类的一个具体对象吗?
它属于谁?
14.static变量能是private变量吗?
15.使用静态成员都能以什么做前缀?
16.static方法中能有this引用吗?
17.非static方法中可以有this引用吗?
18.static方法能处理非static成员吗?
19.非static方法能处理static成员吗?
20.类的私有属性和私有方法能不能被其子类直接访问?
五、编程题
1、基本类定义:
编写一个类,描述学生的学号、姓名、成绩。
学号用整型,成绩用浮点型,姓名用String类型。
编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。
2、基本类定义:
将上述类进行改写,学生拥有判断自己的成绩是否及格的功能。
并能够打印输出自己的姓名和是否及格的信息(方法名:
printInfo())
编写一个测试类,对学生类进行测试。
3、构造方法:
编写一个类,描述桌子,包括以下几种属性:
长、宽、高、颜色。
并且使该类具有这样的功能:
在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。
也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。
并编写一个测试类测试这几种定制方法。
4、访问器方法:
编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种属性的读、写的访问器方法,这三种属性都定义为私有的。
该类定义的银行账户还能够通过自己的收入和支出自动计算账户余额。
对于账户余额只能读取,自动计算,但不能够直接赋值,也就是不能够写。
编写一个测试类,输入收入和支出项,打印账户余额。
5、给方法传递参数:
编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。
编写一个测试类,其中有一个修改价格方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改过后的汽车信息。
6、static关键字:
编写一个类Teacher,描述教师的课时数量和计算课时的系数,均为double类型。
Teacher类还有一个方法,courseCompute(),可计算教师的当量课时,用课时量乘系数,返回值类型为double,
要求系数设置成static类型。
编写一个测试类进行测试。
创建两个教师对象,计算的系数为1.2,输出计算后的两位老师的当量课时。
将系数修改后,输出修改后的当量课时。
7、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供访问器方法和计算两点间距离的方法。
写一个程序测试这个类。
8、设计一个Birthday类,其成员变量有:
year,month,day;提供构造方法、输出Birthday对象值的方法和计算年龄的方法。
编写程序测试这个类。
9、设计一个学生类,其中成员变量应包括:
学号,姓名,性别,班级,并提供方法打印学生信息,和计算已经创建学生对象的数目。
编写一个程序测试这个类。
10.(TestClass.java)设计一个类,用于表示一个学生的学号、姓名及所学的数学、英语及程序设计3门课程;设计一个类表示一个班,这些学生都学习上述3门课程;设计一个类,用于输出学生的姓名及3门课程的总成绩。
11.(TestEmployee.java)定义并测试一个代表员工的Employee类,它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”、“员工薪水增长额”;它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“计算薪水增长额”及“计算增长后的工资总额”。
12.设计一个关于三角形的类Trival,其中的属性包括三角形的底di,三角形的高gao,方法包括:
默认构造方法、为di和gao指定初值的构造方法、获取三角形面积findArea()。
13.假设有一个类“计算机”,它包括如下内容:
计算机:
属性:
品牌,颜色,CPU型号,内存容量,硬盘容量,价格,工作状态
方法:
打开,关闭,挂起
试编写一段java程序,声明并定义这个类。
14.编写一个类实现复数的运算:
复数类ComplexNumber的属性:
m_dRealPart:
实部,代表复数的实数部分;
m_dMaginPart:
虚部,代表复数的虚数部分;
复数类ComplexNumber的方法:
ComplexNumber(doubler,doublei):
构造方法,创建复数对象的同时完成复数的实部、虚部的初始化,r为实部的初值,i为虚部的初值;
getRealPart():
获得复数对象的实部;
getImaginPart():
获得复数对象的虚部;
setRealPart(doubled):
把当前复数对象的实部设置为给定的形式参数的数字;
setImaginaryPart(doubled):
把当前复数对象的虚部设置为给定的形式参数的数字;
complexAd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 题库