java面向对象编程类的封装接口和基本类库练习题 下载本文

内容发布更新时间 : 2024/5/9 2:58:26星期一 下面是文章的全部内容请认真阅读。

B j=4 C j=6 D j=7

6.下列说法正确的是:()

A Java 中允许一个子类有多个父类

B 某个类是一个类的子类,它仍有可能成为另一个类的父类 C 一个父类只能有一个子类 D 继承关系最多不能超过 4 层 7.下列说法正确的是:()

A 子类只能覆盖父类的方法,而不能重载 B 子类只能重载父类的方法,而不能覆盖

C 子类不能定义和父类同名同形参的方法,否则,系统将不知道使用哪个方法。 D 重载就是一个类中有多个同名但不同形参和方法体的方法 8.关于构造函数的说法正确的是:() A 一个类只能有一个构造函数

B 一个类可以有多个不同名的构造函数 C 构造函数与类同名

D 构造函数必须自己定义,不能使用父类的所有构造函数 9.下面是有关子类调用父类构造函数的描述正确的是:() A 子类定义了自己的构造函数,就不会调用父类的构造函数 B 子类必须通过 super 关键字调用父类有参数的构造函数

C 如果子类的构造没有通过 super 调用父类构造函数,那么子类会先调用子类自己的构造函数,再调用父类不含参数的构造函数。

D 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数 10.构造方法何时被调用? () A 类定义时

B 使用对象的变量时 C 调用对象方法时 D 创建对象时 11.如果超类不允许其通过继承的方式产生的子类访问它的某些成员,那么它必须以什么方 式声明该成员。() A public B private C rotected D static

12.声明为 final 的变量不能在子类中覆盖,声明为()和()的方法是隐式的final。() A public private B private protected C protected static D static private

13.继承性使▁▁成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调 试过的高质量软件。() A 节省时间 B 软件复用

C 软件管理

D 延长软件生命周期

14.编译运行下面的程序,结果是()。 Public class A {

public static void main(String[] args) {

B b=new B(); b.test(); }

void test() {

System.out.print(“A”); } }

class B extends A {

27 void test() {

super.test();

System.out.println(“B”); } }

A 产生编译错误

B 代码可以编译运行,并输出结果:AB C 代码可以编译运行,但没有输出

D 编译没有错误,但会产生运行时异常 15.已知类关系如下: class Employee;

class Manager extends Employeer; class Director extends Employee; 则以下语句正确的是:() A Employee e=new Manager(); B Director d=new Manager(); C Director d=new Employee(); D Manager m=new Director();

16.一个▁▁类的对象可以当作相应的▁▁类对象看待。() A 子系统 B 用户系统 C 子超 D 超用户

17.哪个方法是对如下方法的重载?() public void example(){...}

A public void example( int m){...}

B public int example(){...} C public void example2(){...}

D public int example ( int m, float f){...}

18、被声明为 private,protected 及 public 的类成员,在类外部:() A 只能访问到声明为 public 的成员

B 只可能访问到声明为 protected 和 public 的成员 C 都可以访问 D 都不能访问

19、现有两个类 A、B,以下描述中表示 B 继承自 A 的是() A class A extends B B class B implements A 28 C class A implements D class B extends A

20、设类 B 是类 C 的父类,下列声明对象 x1 的语句中不正确的是() A C x1=new B(); B B x1=new C(); C C x1=new C(); D B xl=new B(); 三、简述题

1.方法的重载和覆盖有什么区别? 2.简述超类和子类的关系。

3.在方法体中可以使用 this 和 super 关键字,其意义是什么,在什么情况下使用? 4.试分清“是一个”关系和“有一个”关系。 5.调用构造方法遵循什么规则?

6.要使一个类的多个对象具有不同的初始状态,应如何实现? 接口和基本类库练习题 一、判断题

1.Java 中的类和接口都只支持单重继承。()

2.由于 Java 中类只支持单重继承,所以一个类只能继承一个抽象类和实现一个接口。() 3.内部类始终可以访问外部类。()

4.对于一个抽象类,改变它的属性和方法一定会改变它所有子类的属性和方法。()

5.一个类可以实现抽象类的所有方法,也可以只实现部分方法,但实现部分方法的类仍然是一个抽象类。()

6.在实现接口的时候,要实现所有方法。() 7.接口其实是一个特殊的 abstract class。() 8.一个接口不可以继承其他接口。() 二、选择题

1.下面有关接口的说法,哪个是正确的?() A 接口与抽象类是相同的概念 B 一个类不可实现多个接口 C 接口之间不能有继承关系

D 实现一个接口必须实现接口的所有方法

2、在使用 interface 声明一个接口时,可以使用()修饰符修饰该接口。 A private

B protected

C private or protected D public

3.下列哪个不是属于接口用途的?() A 通过接口可以实现不相关类的相同行为 B 通过接口可以指明多个类需要实现的方法 C 通过接口可以了解对象的交互界面 D 通过接口可以了解对象所对应的类

5.虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。这种说法 () A 正确 B 不正确 C 不能确定

D 接口和抽象类不能说明其对象引用

6.下面哪个类包括 drawImage( )方法、drawString( )方法和 setColor( )方法。() A java .awt .Applet B java .awt .Image C java .awt .Graphics D java .util .Date

7.接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法?答案是() A 可以 B 不可以 C 不能肯定

D 因静态方法不能被改写,故不能出现在接口中

8.接口是 Java 面向对象的实现机制之一,以下说法正确的是:() A Java 支持多重继承,一个类可以实现多个接口 B Java 只支持单重继承,一个类可以实现多个接口 C Java 只支持单重继承,一个类只可以实现一个接口 D Java 支持多重继承,但一个类只可以实现一个接口 9.关于接口的定义和实现,以下描述正确的是:() A 接口定义中的方法都只有定义没有实现

B 接口定义中的变量都必须写明 final 和 static

C 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码 D 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为 public 11.声明接口的保留字是() A interface B protect C final D static

13.下面的接口(类)定义正确的是:() A

public class A {

private int x;

public getx() { return x; } } B

public abstract class A 32 {

private int x;

public abstract int getx(); public int amethod() { return 0; } } C

public class A {

private int x;

public abstract int getx(); } D

public interface Interfacea {

private int x; public int getx() { return x; } }

14.接口具有下面的特性。() A 多重继承 B 不可继承 C 抽象性 D 嵌套

15.定义一个包的关键字是()。 A import B package C interface D protected

16.下列选项中,用于在程序开头引入包的关键字是()。 A import

B implements C integer D protected

17.以下语句输出的结果是()。 System.out.println(Math.floor(-0.8)); A 0 B -1

33 C -0.8

D 0.8

18.下面的程序段执行后,变量 a、b、c 的值分别是()。 int a,b,c;

a=(int)Math.round(-4.51); b=(int)Math.ceil(-4.51); c=(int)Math.floor(-4.1); A -5, -4, -5 B -4,-4,-5 C -5,-5,-5 D -4,-4,-4

19.下面()说法不正确。

A 如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字 B 如果源文件包含 import 语句,则该语句必须是除空行和注释行外的第一个语句行 C 如果某源文件包含 package 语句,则该语句必须是第一个非空、非注释行 D 接口中的方法不一定是抽象方法,所以可以不用关键字 abstract 修饰