ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:21.98KB ,
资源ID:10129268      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10129268.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java期末考试题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java期末考试题.docx

1、Java期末考试题2010年2011年Java期末考试题一、判断题。1. Java语言是平台无关的语言。T2. 类的静态方法中可以访问该类的非静态数据成员.F3. Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不会变的。T4. 覆盖方法所抛出的异常不能比原方法更多。T5. Final 方法不能被覆盖。T6. 抽象类中一定包含抽象方法。F7. 接口中的方法必须是抽象方法。T8. 在方法定义中,所以可能发生的异常都必须用try catch()捕捉。F9. Java支持多重继承。F10. Final修饰的类不能派生子类。T11. 覆盖的同名方法中,子类方法不能比父类方法的

2、访问权限更严格。T12. 不能在静态方法中使用this.T13. 抽象类中不能创建对象。T14. 一个类可以实现多接口。T15. 接口中可以包含非静态成员。F16. 不论是否捕捉到异常trycatch() final语句中finally块中的代码总要被执行。T17. 一个类实现一个接口,则该类必须实现接口中的所有方法。F18. 线程使用sleep方法去休眠后可以使用notify方法唤醒。F19. 线程使用sleep方法休眠是会释放该线程同步锁定的对象。F20. Final类中的属性和方法都必须是final的。F二、选择题1、Java中复合数据类型不包括(D)A.类类型 B.数组 C.接口类型

3、D.指针2、请从四个选项中选择答案,下列代码的执行结果是:(C)Public class TestPublic static void main(String args)Float t=9.0f;Int q=6;System.out.println(t+)*(-q);A.40 B.40.0 C.45.0 D.36.03、下列关于修饰符混用的说法,错误的是(D)A.abstract 不能与final 并列修饰同一个类Babstract类中可以有非abstract的方法C.普通类(非abstract类)中不能有abstract方法D.static方法中能处理非static的属性 4、关于被保护访问

4、控制符protected修饰的成员变量,以下说法正确的是(A)A可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B只能被该类本身和该类的所有的子类访问C只能被该类自身所访问D只能被同一个包中的类访问5、x=2,y=3,z=4,则表达式z*=y+*-x的值是(A)A.12 B.24 C.16 D.36、以下赋值语句正确的是(D)A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L7、Java不支持多重继承,但我们可以通过(B)实现A多态 B.接口 C.覆盖 D.抽象类8.已知类person是类student

5、的父类,以下数组定义和赋值哪些是正确的(A)A. person p=new person3; p1=new student(); B .student s=new person3; s1=new person(); C .person p= new student3;p1= new person(); D .student s=new student3;s1=new person;9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C)A.MyClass类中的两个方法:li

6、ttle和1B. MyClass.Java中有三个类:MyClass、little和1C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1D. MyClass、little和1,这三者没什么关系10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。A.public static void main() B.public static void main(String arg)C.public static int main(String arg) D. B.public void main(String

7、 arg)11、当编译和运行下面的代码会出现什么情况?(A)Import java.io.*;Class ExBaseAbstract public void martley()Public class MyEx extends ExBasePublic static void main(String argv)DataInputStream fi=new DataInputStream(System.in);TryFi.readChar();Catch(IOEception e)System.exit(0);FinallySystem.out.println(“Doing finally”)

8、;A.编译错误 B.可以运行,没有打印出”Doing finally” C.可以运行,在打印出”Doing finally”后退出 D.在运行之后立即退出12、当编译和运行下面的代码会出现什么情况?(D)Public class SandysPrivate int court;Public static void main(String argv)Sandys s=new Sandys(99);System.out.println(s.court);Sandys(int balleount)court=ballcount;A. 编译错误,变量court被定义为privateB. 编译错误,Sy

9、stem.out调用的s没有被初始化C. 可以编译和运行,没有输出结果D. 可以编译和运行,输出结果为9913、给出下面的代码:Class BaseClass Agg extends BasePublic String getFields()String name=”Agg”;Return name;Public class AvfPublic static void main(String argv)Base a=new Agg();/Here当把下面的代码添加到注释“/Here”后面,程序的输出结果是”Agg”(D)A.System.out.println(a.getFields() B.

10、 System.out.println(a.name)C.System.out.println(Base)a.getFields() D. System.out.println(Agg)a).getFields()14、当编译和运行下面的代码会出现什么情况?(A)Abstract class BaseAbstract public void myfunc();Public void another()Systern.out.println(“Another method”);Public class Abs extends BasePublic static void main(String

11、argv)Abs a=new Abs();a.amethod();Public void myfunc()System.out.println(“My Func”)A. 可以编译和运行,输出的结果是”My func”B. 出现编译错误:Base类中没有抽象方法C. 可以编译,但运行是提示Base类中没有抽象方法D. 出现编译错误,Base类中的方法myfunc没有方法体15、编译和运行下面的代码会出现(D)Import java.io.*;Class BasePublic void amethod()throws FileNotFoundExceptionPublic class ExcepD

12、emo extends BasePublic static void main(String argv)New ExcepDemo();Public void amethod()Protected ExcepDemo()tryBufferedReader inputStream=new BufferedReader(new InputStreamReader);System.out.println(“Pausing”);inputStream.readLine();System.out.println(“Contimuing”);This.amethod();catch(IOException

13、 ioe)A. 编译错误,因为构造方法被声明为protectedB. 编译错误,因为方法amethod没有抛出异常C. 运行时错误,因为方法amthod没有抛出异常D. 可以编译和运行,输出的结果是:PausingContinuing其中表示等待用户的键盘输入17、以下程序的输出结果是(C)class Aclassvoid go()System.out.println(“Aclass”);public class Bclass extends AclassVoid goSystem.out.println(“Bclass”);Public static void main(String arg

14、s)Aclass a= new Aclass();Aclass al=new Bclass();a.go();al.go();A、 AclassAclassB、Bclass BclassC、Aclass BclassD、Bclass Aclass18、看以下程序Boolean a=false;Boolean b=true;Boolean c=(a&b)&(!b);Int result=c=false?1:2;这段程序执行完后,c与result的值是:(A)A. c=false;result=1;B. c=true;result=2;C. c=true;result=1;D. c=false;r

15、esult=2;19、下面哪个单词是Java语言的关键字(B)A.Float B.this C.string D.unsigned20、switch语句(A)A.都可以用if-else if结构实现B.都不可以用if-else if结构实现C.有的可以用if-else if结构实现D.大部分不可以用if-else if结构实现21、在异常处理中,如释放资源、关闭文件等善后操作由(C)来完成。A. try子句 B. catch子句C. finally子句 D. throw子句22、下面哪个是Java语言中正确的标识符( C)A. 3com B. import C. that D. this23、

16、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)A. protected B. static C. private D.24、下面哪条语句定义了5个元素的数组(A)A. inta=22,23,24,25,12;B. int a =new int(5);C. int5 array;D. int arr;25、下面哪项可以得到数组元素的个数,Java中定义数组名为abc。( B )A. abc.length() B. abc.length C. len(abc) D.ubound(abc)26、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C)A. public B. priva

17、te C.static D.final27、下面关于构造方法的说法不正确的是(B)A、构造方法也属于类的方法,用于创建对象的时候给成员变量赋值。B、构造方法不可以重载。C、构造方法没有返回值D、构造方法一定要和类名相同28、监听事件和处理事件(A)A、都由Listener完成 B、都由相应事件Listener处登记过的构件完成C、由Listener和构件分别完成 D、由Listener和窗口分别完成29、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?(B)A. BoxLayout B. GridLayout C.BorderLayout D.FlowLouLayout30、给出

18、如下代码:Class TestPrivate int m;Public static void fun() / some code如何使成员变量m被函数fun()直接访问?(C)A、 将private int m 改为protected int mB、 将private int m 改为public int mC、 将private int m 改为static int mD、 将private int m 改为 int m31、有个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就法头的形式为(A)Astatic void method() B. public voi

19、d method()C. final void method() D. abstract void method()32、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)A. .java B. .classC. .html D. .exe33、如果只要让类中的成员变量可以被同一包访问,则使用如下哪个访问控制符?(D)A、 privateB、 PublicC、 ProtectedD、 不使用访问控制符34、以下哪个方法用于定义线程的执行体?(C)A、 start()B、 init()C、 run()D、 main()35、Java语言具有许多

20、优点和特点,下列选项中,哪个反映了Java程序并行机制(B)A、 安全性 B、多线程 C、跨平台 D、可移植36、为实现多线程之间的通信,需要使用下列哪种流才合适(D)A、 Filter streamB、 File streamC、 Random access streamD、 PipedInputStream和PipedOutputStream37、函数重载是指(A)A、 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B、 两个以上的函数取相同的名字和具有相同的形参个数和类型C、 两个以上的函数名字不同,但形参的个数或类型相同D、 两个以上的函数取相同的函数名,并且函数的返回类型

21、相同38、构造方法何时被调用(B)A、类定义时 B、创建对象时C、调用对象方法时 D、使用对象的变量时39、Java中哪个类提供了随机访问文件的功能(A)ARandomAccessFile类 B.RandomFile类CFile类 D.AccessFile类40、当方法遇到异常又不知如何处理时,应该怎么做(B)A捕获异常 B.抛出异常C声明异常 D.嵌套异常三、简答1) 比较接口与抽象类的共同点和不同点.什么情况下应采用接口,什么情况下应采用抽象类. 答:接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、

22、静态方法、静态字段、静态构造函数以及常数。 如果创建的功能将在大范围的全异对象间使用,则使用接口。 抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可以提供非抽象方法。抽象类不能实例化,必须通过继承由派生类实现其抽象方法。 相同点:都不能被直接实例化,都可以通过继承实现其抽象方法。 都是面向抽象编程的技术基础,实现了诸多的设计模式。 不同点 :接口支持多继承;抽象类不能实现多继承。 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。 接口只包

23、含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。2) 类的加载和构造方法的调用顺序类的加载的顺序:先递归地加载父类的静态成员/代码块(object的最先);再依次加载到本类的静态成员。调用构造方法:先递归地调用父类的构造方法;默认调用父类空参的同,也可在第一行写明调用用父类某个带参的。再依次到本类的构造方法;先初始化父类的静态代码-初始化子类的静态代码- =(创建实例时,如果不创建实例,则后面的不执行)初始化父类的非静态代码-

24、 =初始化父类构造函数-初始化子类非静态代码-初始化子类构造函数 =3) 什么是重载,什么是覆盖,有什么区别和共同点?答:重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;覆盖则是指在子类中定义了与父类具有相同名字的成员方法。重载与覆盖的区别在于:重载是存在于同一个类的不同方法之间的多态关系,它们主要通过参数表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分;面覆盖是存在于父类与子类之间的多态关系,它们在引用时通过指出所属类的类名来区分。四、程序编程题1、图形界面有一个标签、一个文本框和一个按钮,编写程序实现点击按钮后,将文本框的内容取出,作为标签文本复制给标签。impor

25、t javax.swing.*;import java.awt.*;import java.awt.event.*;public class c10_15 extends JApplet implements ActionListener Container ctp=getContentPane(); ImageIcon icon1=new ImageIcon(g1.gif), icon2=new ImageIcon(g2.gif); JLabel lb1=new JLabel(), lb2=new JLabel(标签文本,icon2,JLabel.CENTER); JTextField tf

26、1=new JTextField(10);/创建文本框对象 JButton bt=new JButton(复制到标签);/创建按钮对象 public void init() ctp.setLayout(new FlowLayout(); ctp.add(tf1); ctp.add(bt); ctp.add(lb2); bt.addActionListener(this); public void actionPerformed(ActionEvent e) String str; if(e.getSource()=bt) str=tf1.getText(); lb2.setText(str);

27、 2、如图所示,标签1的字号比文本框的字号大。当单击按钮时,若输入文本框中的数正确,则标签2文本显示正确,否则显示不正确。import javax.swing.*;import java.awt.*;import java.awt.event.*;public class c10_16 extends JApplet implements ActionListener Container ctp=getContentPane(); ImageIcon icon1=new ImageIcon(g1.gif), icon2=new ImageIcon(g2.gif); JLabel lb1=new

28、 JLabel(), lb2=new JLabel(6+9=);/创建标签 JTextField tf1=new JTextField(3);/创建文本框对象 JButton bt=new JButton(验证);/创建按钮对象 Font f=new Font(Arial,Font.PLAIN,24);/设置字体和大小 public void init() lb2.setFont(f);/设置标签字体变大 ctp.setLayout(new FlowLayout();/设置排列方式 ctp.add(lb2); /加入组件 ctp.add(tf1); ctp.add(lb1); ctp.add(

29、bt); bt.addActionListener(this);/假如按钮的监听 public void actionPerformed(ActionEvent e) String str1=正确; String str2=不正确; String str3=; if(e.getSource()=bt) str3=tf1.getText(); if(str3.equals(15) lb1.setText(str1); else lb1.setText(str2); 3、编写一个JApplet程序,用GridLayout的布局方式设计一个界面,共八个按钮当点击含有加号的按钮时,则第一排第二个按钮文本变为加号,当点击OK时,将算出的1+4的结果添加到第一排的最后一个按钮文本中。当点击含有*号的按钮时,则第一排第二个按钮文本变为*号,当点击OK时,将算出的1*4的结果添加到第一排的最后一个按钮文本中。import javax.swing.*; import java.awt.*; import java.awt.event.*;import javax.swing.event.*;public class c10_16 extends JApplet implements ActionListener JPanel p1=new JPanel(), p2=new J

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

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