学号:
第三章 面向对象程序设计作业
一、判断题
1、一个 Java源程序可有多个类,但只仅有一个 对 对
3、接口中的成员变量全部为常量,方法为抽象方法。 4、抽象类可以有构造方法,可以直接实例化。 5、对 static 方法的调用可以不需要类实例。 6、包含抽象方法的类一定是抽象类。
7、方法中的形参可以和方法所属类的属性同名。 8、接口无构造器,不能有实例,也不能定义常量。
9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。 10、Java应用程序的入口 main 方法只有一种定义法。
姓名:
public 类,而且程序名与 public 类名相同。
A 可以访问类 B 中所有的成员。
对 错 对 对 对 错 对 对
2、如果类 A 和类 B 在同一个包中,则除了私有成员外,类
二、选择题
1、下列答案正确的是(
A
)
public public
default
public
A) 在同一个 Java 源文件中可以包含多个类,只能有一个被声明为 B) 在同一个 Java 源文件中只能包含一个类,并被声明为 C) 在同一个 Java 源文件中可以包含多个类,都可以被声明为 D) 在同一个 Java 源文件中可以包含多个类,只能有一个被声明为 2、Java实现动态多态性是通过( A) 重载 C) 接口
B) D)
B )实现的。 覆盖 抽象类
A
)
3、下列哪一个是正确的方法重载描述( A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同
4、final 关键字不可以用来修饰( A) 类 C) 域
5、接口的所有成员方法都具有( A) private, final C) static, protected 6、Java的封装性是通过( A) 访问控制 C) 静态域和静态方法 7、下列接口或类不属于 A) Collection A)
B)Vector
A
B) D) B) B) D)
D ) 成员方法 接口 B )属性 public, abstract static 设计内部类
D )
D) Integer
A
)
)实现的 D) 包
java.util.* 包的是(
C) Map
8、下述哪一组方法,是一个类中方法重载的正确写法?(
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(\} }
interface B {
int k = 10; } A)
i=0
B) i=10
C)
程序有编译错误
12、阅读下面的程序,输出结果是( B )
public class TestDemo {
int m=5;
public void some(int x) {
i=true
D)
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 文件,得到的结果是class B {int b; B(int i){b=i;} }
( B )
第三章面向对象程序设计(答案)



