JAVAJAVAJAVAJAVA面向对象面向对象面向对象面向对象程序设计程序设计程序设计程序设计((((期末考试试题及答案期末考试试题及答案期末考试试题及答案期末考试试题及答案))))一、单选择题1111、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A.javaB..classC.htmlD..exe2222、不允许作为类及类成员的访问控制符的是(C)。A.publicB.privateC.staticD.Protected3333、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。A.3B.3.5C.4D.54444、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()5555、下列属于容器的组件有:(B)A.JButtonB.JPaneC.CanvasD.JTextArea6666、vvvvoid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算7777、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1111、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2222、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。3333、设x=2,则表达式(x++)/3的值是0。4444、若x=5,y=10,则xy和x=y的逻辑值分别为true和false。5555、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6666、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。7777、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;iMyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8888、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。三、写出下面程序的运行结果1111、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.2222、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;ia.length;i++)if(a[i]%3==0)s+=a[i];System.out.println(s=+s);}}运行结果:s=1803333、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=60b=20c=304、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;ix.length;i++)if(yx.length)x[i]=x[i-1]+1;returnx[0];}}程序的输出结果为:thevalueofa[0]is0thevalueisa[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程序”字样的标签。JavaJavaJavaJava程序如下: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);setVisible(true);}publicstaticvoidmain(String[]args){newTest3();}publicvoidactionPerformed(ActionEventae){if(ae.getSource()==jbStart){jl.setText(你按的是开始按钮);}elseif(ae.getSource()==jbStop){jl.setText(你按的是停止按钮);}}}