面向对象基础复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每题2分*10题,20%)
1.下列( D )中类声明是正确的。
A. abstract final class HI{···}
B. abstract private move(){···}
C. protected private number;
D. public abstract class Car{···}
2.在Java中,用Package语句说明一个包时,该包的层次结构必须是
( B )。
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
3.在Java中,能实现多重继承效果的方式是( C )。
A.内部类B.适配器
C.接口D.同步
4.一个类中有公共的double型成员变量PI,该值保持为常数3.14,则定
义这个成员变量的语句是( D )。
A.public double PI=3.14;
B.final double PI=3.14;
C.public const double PI=3.14;
D.public final double PI=3.14;
5. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数
个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A.隐藏 B.覆盖
C.重载 D.Java不支持此特性
6.关于对象成员占用内存的说法中( B )是正确的。
A.同一个类的对象共用同一段内存
B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存
D.以上都不对
7.以下说法正确的是( C )。
A.抽象方法可以有方法体
B.抽象方法可以出现在非抽象类中
C.抽象方法是没有方法体的方法
D.抽象类中的方法都是抽象方法
8.关于继承的说法正确的是( B )。
A.子类将继承父类所有的属性和方法。
B.子类将继承父类的非私有属性和方法。
C.子类只继承父类public方法和属性
D.子类只继承父类的方法,而不继承属性
9.关于构造函数的说法( C )是正确的。
A.一个类只能有一个构造函数
B.一个类可以有多个不同名的构造函数
C.构造函数与类同名
D.构造函数必须自己定义,不能使用父类的构造函数
10.覆盖与重载的关系是( A )。
A.覆盖只有发生在父类与子类之间,而重载发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
11.以下关于继承的叙述正确的是( A )。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能继承一个类的同时实现一个接口
D.在Java中接口只允许单一继承
12.能与abstract关键字一同修饰类或方法的关键字有( A )。A.public B.static
C.final D.private
13.定义一个接口必须使用的关键字是( C )。
A.public
B.class
C.interface
D.static
14.声明并创建一个按钮对象b,应该使用的语句是( A )。
A.Button b=new Button();
B.button b=new button();
C.Button b=new b();
D.b.setLabel(“确定”);
15. 符合对象和类的关系的是( D )。
A.教师和学生
B.书和房子
C.狗和猫
D.飞机和交通工具
16. 在Java中下列说法正确的是( C )。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
17.关于类的构造方法的叙述不正确的是( B )。
A. 构造方法可以有参数
B. 一个类只能有一个构造方法
C. 构造方法没有返回值的类型
D. 构造方法的名称必须与类名相同
18.关于this关键字,以下说法不正确的是( C )。
A.this是对对象自身的调用,使用this.属性名可以直接调用对象本身的属性
B.使用this关键字可以处理方法中的局部变量与参数重名的情况
C.在static方法中可以使用this关键字访问相关的属性或方法
D.当必须指出当前使用方法的对象是谁时,要使用this关键字
19.String a = new String("Computer");
String b = new String("Computer");
若想判断a对象与b对象的值是否相等,应采用( B )方法
A.a == b
B.a.equals(b)
C.a = b D.a.equals = b
20.给定代码:
1 interface Foo{
2 int k = 0;
3 }
4
5 public class Test implements Foo {
6 public static void main(String[] args) {
7 int i ;
8 Test test = new Test();
9 i = test.k;
10 i = Test.k;
11 i = Foo.k;
12 }
13 }
编译运行如上代码,结果为( A )