没有合适的资源?快使用搜索试试~ 我知道了~
面向对象技术Java-期末复习试卷(三).doc
0 下载量 36 浏览量
2022-11-15
11:55:13
上传
评论 1
收藏 90KB DOC 举报
温馨提示
试读
17页
面向对象技术Java-期末复习试卷(三).doc
资源推荐
资源详情
资源评论
期末复习试卷(三)
一、 单项选择题
1、有一段 java 应用程序,其中包含一个公共类,名字为 TestStudent,那么保存它的源
文件名是( )
A. teststudent.java
B. teststudent .class
C. TestStudent.java
D. TestStudent.class
正确答案:C
解 析 : 一 个 java 文 件 中 可 以 包 含 多 个 类 , 但 最 多 只 能 有 一 个 类 是 公 共 类
(public),该 java 文件的名字要与公共类的一致。
2、关于下面的代码,哪个描述是正确的?
public class Test{
public static void main(String[] args){
Integer n1 = new Integer(3);
Object n2 = new Integer(4);
System.out.println(n1.compareTo(n2));
}
}
A. 可以编译通过,可以运行,并得到预期结果。
B. 可以编译通过,可以运行,但不能得到预期结果。
C. 可以编译通过,但又运行错误。
D. 有编译错误。
正确答案:D
解析:Integer 类是基本数据类型 int 的包装类,里面封装了一个 int 类型的值,
提供了一些实用的方法(例如:在 JavaFX 中读取文本框内容是 String 类型的,如果要
转换成 int 类型,就要调用 Integer 类的 parseInt()方法)并实现了 Comparable 接口,
在 Comparable 接口中定了抽象方法 compareTo(T o), T 是泛型,对于 Integer 类,T
被替换为 Integer,如下图:
因此,Integer 类中 compareTo()方法的定义如下:
因此,compareTo 的参数只能是 Integer 类型的,所以代码中的下面语句中的 n2
的类型需要进行强制类型转换,由 Object 转为 Integer:
System.out.println(n1.compareTo(n2));
正确写法如下:
System.out.println(n1.compareTo((Integer) n2));
类似的包装类还有 Long\Float\Double\Char\Boolean 等,都是将基本数据类型包
装为类。
3、下面哪种类型不是引用数据类型?( )
A. 数组
B. char
C. String
D. Object
正确答案:B
解析:基本数据类型只是存放数据,不提供功能(即方法)包括 4 类八种:
布尔类型:boolean
字符类型:char
整数类型:byte, short, int, long
浮点类型:float,double
引用数据类型包括类、接口、抽象类、数组(本质上是类),引用类型可以提供功
能。
注意:
String 是一个类,所以可以使用 String s = new String("bistu")的方式创建对
象;
数组也是一个类,所以需要用 new 创建对象。
4、类 Test 要定义一个无参数、无返回值的方法 method,并能够通过 Test.method()的
方式调用 method 方法,则 method 方法的定义形式为 ( )。
A. public static void method ( )
B. public void method ( )
C. public final void method ( )
D. public abstract void method ( )
正确答案:A
解析:静态方法(也叫类方法)可以不创建对象,而直接通过类名调用。
5、下列关于接口说法正确的是 ( )。
A. 抽象类中的方法不全都是抽象的,因此可以创建对象。
B. 接口的引用既可以调用实现类重写的接口的方法,也可以调用实现类新增的方
法。
C. 接口的实现类可以实现接口的部分方法。
D. 接口的方法都是抽象的,因此不可以创建对象。
正确答案:D
解析:选项 A 的前半句是对的,后半句错了。
选项 B 前半句是对的,后半句不对。示例如下:
public interface GeometricObject{
public double getArea();
}
public class Circle implements GeometricObject{
public double getArea(){ .…. }
public double getPerimeter(){ …… }
}
public TestCircle{
public static void main(String[] args){
GeometricObject c = new Circle();
c.getArea(); //访问实现类覆盖接口的方法可以
c. getPerimeter() //错误:不可以访问实现类新增的方法
}
}
选项 C 错误,实现类必须实现接口的所有的抽象的方法。
6、将类的成员方法的访问权限设置为默认的,则该成员方法能被( )。
A. 同一包中的类访问
B. 其他包中的类访问
C. 所有的类访问
D. 所有的类的子类访问
正确答案:A
解析:注意本题可以继续扩展,例如把访问权限换成 public/private/protected。
7、下列哪个是 Java 应用程序主类中正确的 main 方法声明? ( )
A. public void main(String[] args)
B. static void main(String[] ar)
C. public static void Main(String a[])
D. public static void main(String args[])
剩余16页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2375
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功