java复题库习题3.1---习题3.6
第三章面向对象程序设计
一、选择题
1.下列不属于面向对象编程的三个特征的是(B)
A.封装
B.指针操作
C.多态性
D.继承
2.类所实现的接口以及修饰不可以是(D)
A.public
B.abstract
C.final
D.void
3.下列类的定义,错误的是(D)
A.public class test extends Object{
……
}
B.final class operators{
……
}
C.class Point{
……
}
D.void class Point{
……
}
4.关键字supper的作用是(D)
A.用来访问父类被隐藏的成员变量
B.用来调用父类中被重载的方法
C.用来调用父类的构造函数
D.以上都是
5.关于对象的删除,下列说法正确的是(C)
A.必须由程序员完成对象的清除
B.java把没有引用的对象作为垃圾收集起来并释放
C.只有当程序中调用()方法时才能进行垃圾收集
D.java中的对象都很小,一般不进行删除操作。
equals()方法二、填空题
1.把对象实例化可以生成多个对象,使用____new_____运算符为对象分配
内存空间。
2.java程序引入接口的概念,是为了弥补只允许类的____单继承____的缺
憾。
3.java语言以___类____为程序的基本单位,它是具有某些共同特性实体
的集合,是一种抽象的概念。
4.抽象方法只能存在于抽象类中。抽象方法用关键字___abstract_____来
修饰。
5.java语言中____Object___是所有类的根.
6.在java中有一种叫做_____构造函数__的特殊方法,在程序中用它来对
类成员进行初始化.
7.new是___创建___对象的操作符.
8.我们在java程序中,把关键字____super____加到方法名称的前面,来实
现子类调用父类的方法
9.在java程序里,同一类中重载的多个方法具有相同的方法名和_不同的
____的参数列表.重载的方法可以有不同的返回值类型
10.java语言通过接口支持__多重____继承,使类继承具有更灵活的扩展性
11.java语言中,调用方法时,参数传递是___值___调用,而不是地址调用
12.接口是一种只含有抽象方法或___常量___的一种特殊抽象类
一、填空题
1.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。
2.Java中所有类都是_______类的子类。
3.通过_______运算符就能实现对对象成员变量的访问和对象方法的调用。
4.类的构造方法的名称必须与_______名相同。
5.类方法只能处理用关键字_______修饰的对象。
二、选择题
1.对象使用时,下面描述错误的是( )
A. 通过“.”运算符调用成员变量和方法
B. 通过成员变量的访问权限设定限制自身对这些变量方法的调用
C. 将一个对象申明为类的成员时,必须在使用前为其分配内存
D. 在方法中使用对象作为参数时,采用引用调用
2.定义一个名为“MyClass”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( )
A. private class MyClass extends Object
B. class MyClass extends Object
C. public class MyClass
D. private class MyClass extends Object
3.Java中访问限定符不包括( )
A. public
B. private
C. default
D. final
4.构造方法何时被调用( )
A.类定义时
B.创建对象时
C.调用对象方法时
D.使用对象的变量时
5.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )
A.public
B.private
C.protected
D.transient
三、程序阅读题
1.编译并运行下面的程序,运行结果为( )
public class T1
{
public static void main (String[] args)
{
T1 a=new T1();
a.method(8);
a.method(1.2f);
}
void method(float i)
{
System.out.println("float: "+i);
}
void method(long i)
{
System.out.println("long: "+i);
}
}
(2)定义类A和类B如下:
class A
{
int a=1;
double d=2.0;
void show( )
{
System.out.println("Class A: a="+a +"\td="+d);
}
}
class B extends A
{
float a=3.0f;
String d="Java program.";
void show( )
{
super.show( );
System.out.println("Class B: a="+a +"\td="+d);
}
}
(1) 若在应用程序的main方法中有以下语句:
A a=new A();
a.show();
则输出的结果如何?
(2) 若在应用程序的main方法中定义类B的对象b:
A b=new B();
b.show();
则输出的结果如何?
四、简答题
1.什么是类?什么是对象?类和对象有何联系?
2.方法的重载和方法的覆盖有什么不同?
3.类变量和实例变量有何区别?
4.抽象类和抽象方法有什么特点?
答案:
一、1. super 2. Object 3. 圆点 4. 类 5. static
二、1.B 2.C 3.D 4.B 5.C
三、程序阅读题
1.答:程序可以编译运行,输出结果为:long: 8 float: 1.2
3.答:Class A: a=1 d=2.0
Class A: a=1 d=2.0
Class B: a=3.0 d=Java program.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。