《Java习题_面向对象程序设计基础.docx》由会员分享,可在线阅读,更多相关《Java习题_面向对象程序设计基础.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java习题_面向对象程序设计基础 第 3 章面向对象程序设计 一、判断题 1.()下面程序输出数字0。 2.()Java语言为所有的Java程序自动导入包“ ng”,因此Java程序可以直接用“ ng”中的类和接口。位于类继承关系层次结构树的根部的类Object就是在包“ ng”中的一个类。 3.()有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。 4.()构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void。 5.()任何类都必须显示地定义该类的构造方法,以便对类的成员进行各种初始化操作。 6.()运行下面程序将在控制台窗口中输出a。 7.()下面的程序将输出“
2、Creating Rock 2”。 8.()Java语言对内存的释放是采用垃圾自动回收机制。Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。 9.()Java系统提供了方法“”来强制立即回收“垃圾”,即当调用该方法时,系统会立即回收“垃圾”。 10.()程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的释放情况。 11.()如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。 12.()Java语言规定:任何一类的构造方法必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。 13.
3、()在同一类中,不允许存在具有相同方法名和相同参数类型列表的方法,即使该方法的返回类型不相同。 14.()如果一个类不是内部类,则它的访问属性不能是private或者protected。 15.()抽象方法不能含有方法体,并且必须在抽象类中。 16.()抽象类是不能实例化的。抽象类的实例化,应当通过其不具有抽象属性的子类来创建。 17.()下面的程序输出整数3。 18.()设在一个java包 .tsinghua.kit中含源程序文件J_Data.java,其内容如下: 在另一个包中含有源程序J_Test.java,其内容如下: 假设类路径设置及源程序文件所在的路径都是正确的,则上面的程序可以正
4、常进行编译与运行,最终可以输出3。 二、填空题 1.面向对象的计算机语言一般应有3个基本特征,分别是_、_和_。 2.在下面的源代码中,类J_Example的域是_,构造方法是_,当该类的实例对象在被释放之前可能被系统自动调用的方法是_。 3.在下面程序编译后,按“”方式运行的结果是:_。 4.运行下面程序会输出_。 5.运行下面程序,将会输出_。 6.语句“”定义了变量a,想释放变量a所指向的实例对象的内存空间,请写出相应的一条或多条语句:_。 7.在源程序的下划线处填上相应的语句,完成该程序,并判断该程序的最终输出结果是_。 8.下面程序的输出结果是_。 9.下面程序的输出是_。 10.下
5、面程序的输出结果是_。 11.下面程序的输出结果是_。 三、选择题 1.关于下面代码,结论正确的是()。 (A)类的构造方法具有public属性; (B)类的构造方法不含参数; (C)类的构造方法包括调用this(); (D)类的构造方法包括调用super(); 2.在下列的类定义中,可以通过“”生成实例的是()。 (A) (B) (C) (D) 3.关于下面程序,结论正确的是()。 (A)程序可以通过编译并正常运行,结果输出“21” (B)程序可以通过编译并正常运行,结果输出“221” (C)程序无法通过编译 (D)程序可以通过编译,但无法正常运行 4.关于下面的程序,结论正确的是()。 (
6、A)程序可以通过编译并正常运行,结果输出“5” (B)程序可以通过编译并正常运行,结果输出“23” (C)程序无法通过编译 (D)程序可以通过编译,但无法正常运行 5.关于下面的程序,结论正确的是()。 (A)程序可以通过编译并正常运行,结果输出“123” (B)程序可以通过编译并正常运行,结果输出“13” (C)程序可以通过编译并正常运行,结果输出“213” (D)程序无法通过编译 6.关于下面程序代码,结论正确的是()。 (A)程序无法通过编译,因为Exer3_3_6没有定义无参数的构造方法(B)程序无法通过编译,因为J_SubClass没有定义构造方法 (C)程序无法通过编译,因为没有实
7、现J_SubClass(int i)构造方法(D)程序可以通过编译 7.下面程序的输出是_。 (A)3null (B)3constructor (C)2constructor(4)2null 8.下面程序的输出是_。 (A)3null (B)3constructor (C)2constructor(D)2null 9.关于java的垃圾回收机制,下面结论正确的是()。 (A)程序可以任意指定释放内存的时间 (B)正确的程序写法是不能依赖于垃圾回收的时间或顺序 (C)程序可以明确地标识某个局部变量的引用不再被使用 (D)程序可以显式地立即释放对象所占有的内存 10.在下面程序代码中,为使实例引用a能访问(调用)到类J_Base的成员方法 ,划线处应填入()。 (A) (B) (C) (D)以上都不对 11.关于下面的程序代码,结论正确的是()。 (A)运行上面的程序,结果输出“data =3” (B)上面程序含有编译错误 (C)在运行上面程序时,第11行的语句会抛出一个异常 (D)在运行上面程序时,第12行的语句会抛出一个异常 12.关于下面程序代码(在同一个文件中),结论正确的是()。
限制150内