JAVA面向对象程序设计(期末考试试题及答案)
- 格式:pdf
- 大小:197.50 KB
- 文档页数:9
JAVA面向对象面向对象程序设计程序设计(期末考试试题及答案)
一、单选择题
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文
件的扩展名为(B)。
A.javaB..class
C.htmlD..exe
2、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.private
C.staticD.Protected
3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5
C.4D.5
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类
名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
5、下列属于容器的组件有:(B)
A.JButtonB.JPane
C.CanvasD.JTextArea
6、void的含义:(C)
A.方法体为空B.定义的方法没有形参
C.定义的方法没有返回值D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)
A.异常是程序编写过程中代码的语法错误
B.异常是程序编写过程中代码的逻辑错误
C.异常出现后程序的运行马上中止
D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)
A.long
B.sizeof
C.instanceof
D.Const
9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?
(D)
A.ActionListener
B.MouseListener
C.MouseMotionListern
D.ItemListener
10、以下有关类的继承的叙述中,正确的是:(D)
A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B.子类只能继承父类的方法,不能继承父类的属性
C.子类只能继承父类的非私有属性,不能继承父类的方法
D.子类不能继承父类的私有属性
二、填空题
1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、
编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码
占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x=2,则表达式(x++)/3的值是0。
4、若x=5,y=10,则x=y的逻辑值分别为true和false。
5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的
方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类
重新定义的方法。
6、创建一个名为MyPackage的包的语句是packageMyPackage;,
该语句应该放在程序的位置为:应该在程序第一句。
7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;i
if(i%2==1)
s+=MyIntArray[i];
System.out.println(s);
8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
三、写出下面程序的运行结果
1、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("Hello!","IloveJAVA.");
System.out.println(s.toString());
}
}
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
}
publicStringtoString()
{
returns1+s2;
}
}
运行结果:Hello!IloveJAVA.2、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;i
if(a[i]%3==0)s+=a[i];
System.out.println("s="+s);
}
}
运行结果:s=180
3、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("a="+a+"\nb="+b);
}
}
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
{
super(aa,bb);
c=cc;
}
}
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
{super(aa,bb,cc);
A=aa+bb+cc;}
voidshow()
{
System.out.println("a="+a+"\nb="+b+"\nc="+c);
}
}
运行结果:a=60
b=20
c=30
4、publicclassTest{
publicstaticvoidmain(String[]args){
intx;
inta[]={0,0,0,0,0,0};
calculate(a,a[5]);
System.out.println("thevalueofa[0]is"+a[0]);
System.out.println("thevalueisa[5]is"+a[5]);
}
staticintcalculate(intx[],inty){
for(inti=1;i
if(y
x[i]=x[i-1]+1;
returnx[0];
}
}
程序的输出结果为:
thevalueofa[0]is0
thevalueisa[5]is5
四、简答题(每题5分,共15分)
1、简单叙述如何使一个Java应用程序运行起来,在控制台方式下,使用什么命
令编译、运行程序。2、简要叙述什么是访问控制符,列出Java中的访问控制符,并说明各个访问控
制符的控制权限。
3、Java从JDK1.1开始引入了委托事件模型,简述其所采用的事件处理机制。
五、编写程序(每题10分,共20分)
1、设计一个Circle类,该类包括的属性有:圆心坐标和圆的半径;包括的方法
有:设置和获取圆的坐标的方法,设置和获取半径的方法,计算圆的面积的方法。
另外编写一个Test类,测试Circle类。
答案:
publicclassText{
publicstaticvoidmain(Stringargs[]){
Circlec=newCircle(2,5,6);
c.setCoordinate(2,3);
c.getX();
c.getY();
c.getR();
c.countV();
}
}
classCircle{
privateintx;
privateinty;
privateintr;
privatedoublev;publicCircle(intx,inty,intr){
this.x=x;
this.y=y;
this.r=r;
}
publicintgetX(){
System.out.println("x的值:"+x);
returnx;
}
publicintgetY(){
System.out.println("y的值:"+y);
returny;
}
publicintgetR(){
System.out.println("r的值:"+r);
returnr;
}
publicvoidsetCoordinate(intx,inty){
this.x=x;
this.y=y;
}
publicvoidsetR(intr){
this.r=r;
}
publicdoublecountV(){
v=2*2.1415926*r*r;
System.out.println("v的值:"+v);returnv;
}
}
2、编写一个Applet程序,创建一个空标签以及一个标识为“开始”的按钮,当鼠
标按下“开始”按钮时,就在标签上显示出“你好,这是一个Applet程序”字样的标
签。Java程序如下:
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
publicclassTest3extendsJFrameimplementsActionListener{
JButtonjbStart=newJButton("开始");
JButtonjbStop=newJButton("停止");
JLabeljl=newJLabel("",JLabel.CENTER);
Test3(){
super("测试");
setLayout(null);
jbStart.setBounds(50,20,70,20);
jbStop.setBounds(170,20,70,20);
jl.setBounds(50,60,200,20);
add(jbStart);add(jbStop);add(jl);
jbStart.addActionListener(this);
jbStop.addActionListener(this);
setResizable(false);
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);