第三章 面向对象程序设计(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:姓名:
第三章面向对象程序设计作业
一、判断题
1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对
2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对
3、接口中的成员变量全部为常量,方法为抽象方法。对
4、抽象类可以有构造方法,可以直接实例化。错
5、对static方法的调用可以不需要类实例。对
6、包含抽象方法的类一定是抽象类。对
7、方法中的形参可以和方法所属类的属性同名。对
8、接口无构造器,不能有实例,也不能定义常量。错
9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对
10、Java应用程序的入口main方法只有一种定义法。对
二、选择题
1、下列答案正确的是(A)
A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public
B) 在同一个Java源文件中只能包含一个类,并被声明为public
C) 在同一个Java源文件中可以包含多个类,都可以被声明为public
D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default
2、Java实现动态多态性是通过(B)实现的。
A) 重载B) 覆盖
C) 接口D) 抽象类
3、下列哪一个是正确的方法重载描述(A)
A) 重载方法的参数类型必须不同
B) 重载方法的参数名称必须不同
C) 返回值类型必须不同
D) 修饰词必须不同
4、final关键字不可以用来修饰(D)
A) 类B) 成员方法
C) 域D) 接口
5、接口的所有成员方法都具有(B)属性
A) private, final B) public, abstract
C) static, protected D) static
6、Java的封装性是通过(A)实现的
A) 访问控制B) 设计内部类
C) 静态域和静态方法D) 包
7、下列接口或类不属于java.util.*包的是(D)
A) Collection B)Vector C) MapD) Integer
8、下述哪一组方法,是一个类中方法重载的正确写法?(A)
A) int addValue( int a, int b ){return a+b;}
float addValue ( float a, float b) {return a+b;}
B) int addValue (int a, int b ){value=a+b; }
float addValue ( int a, int b) {return (float)(a+b);}
C) int addValue( int a, int b ){return a+1;}
int addValue ( int a, int b) {return a+b;}
D) int addValue( int a, int b ) {return a+b;}
int addValue ( int x, int y ) {return x+y;}
9、下列说法哪个是正确的?(C)
A) 子类不能定义和父类同名同参数的方法
B) 子类只能继承父类的方法,而不能重载
C) 重载就是一个类中有多个同名但有不同形参和方法体的方法
D) 子类只能覆盖父类的方法,而不能重载
10、对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下述哪个方法不可以加入类Child? (B)
A) public int addValue( int a, int b,int c ){// do something...}
B) public void addV alue (int a, int b ){// do something...}
C) public int addValue( int a ){// do something...}
D) public int addValue( int a, int b ) {//do something...}
11、以下程序段输出结果的是(B)
public class A implements B {
public static void main(String args[]) {
int i;
A c1 = new A();
i= c1.k;
System.out.println("i="+i);
}
}
interface B {
int k = 10;
}
A) i=0 B) i=10 C) 程序有编译错误D) i=true
12、阅读下面的程序,输出结果是(B)
public class TestDemo {
int m=5;
public void some(int x) {
m=x;
}
public static void main(String args []) {
new Demo().some(7);
}
}
class Demo extends TestDemo {
int m=8;
public void some(int x) {
super.some(x);
System.out.println(m);
}
}
A) 5 B) 8 C) 7 D) 编译错误
13、下述哪个说法是不正确的?(A)
A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值
B) 类成员变量由系统自动进行初始化,也无需初始化
C) 参数的作用域就是所在的方法
D) for语句中定义的变量,当for语句执行完时,该变量就消亡了
14、下述那一个保留字不是类及类成员的访问控制符。(C)
A) public B) private
C) static D) protected
15、假设有个类已经定义了下述的实例变量:
int num1=10;
int num2=20;
String word = new String(“exam”);
double answer=25.5;
另外定义了下列方法头:
public int stuff(String s, int x, int y)
以下哪个选择是正确的方法调用? ( A )
A)num1=stuff(“hello”,num1,num1);
B)answer=stuff(word,answer,num2);
C)num2=stuff(“hello”,num1,answer);
D)num1=stuff(num1,num2,word);
16、下哪一项不是构造方法的特点:( C )
A 构造方法名必须与类名相同;
B 构造方法不具有任何返回类型;
C 任何一个类都含有构造方法;
D 构造方法修饰词只能是public。
17、定义类B和类C如下,并将其保存为:B.java文件,得到的结果是( B ) class B
{int b;
B(int i){b=i;}
}