一:面向对象基础练习题

1:构造方法何时被调用 (B)

  A:定义类的时候

  B:创建对象的时候

  C:调用方法的时候

  D:操作属性的时候

2:下列关于this()说话错误的是 (D)

  A:this()表示在一个构造方法中调用本类的另一个构造函数

  B:this()只能写在构造方法的第一句

  C:this()可以帮助程序员实现构造方法的代码复用

  D:如果不写也会有默认的this(),完成本类公共无参构造的调用

3:关于foreach说法正确的是(B,C)

  A:foreach是一个关键字

  B:foreach是遍历集合专用

  C:foreach可以防止下表越界的风险

  D:foreach可以完全替代for循环

4:以下说法正确的是(C)

  A:基本数据类型数组是基本数据类型

  B:引用数据类型数组是引用数据类型

  C:数组一定是引用数据类型

  D:数组一定是基本数据类型

5:接口可以有两种实现了的方法:

  5.1:默认方法

  5.2:静态方法

6:下面关于对象说法正确的是(A,B,D)

  A:对象也被称为Object

  B:对象也被称为实例

  C:对象也被称为引用

  D:对象也被称为物件

7:以下哪些内容可以定义在接口当中(B,E)

  A:变量属性

  B:常量属性

  C:构造方法

  D:普通方法

  E:抽象方法

8:对于构造方法,下面描述不正确的是(B)

  A:构造方法是类当中的一种特殊方法,它的方法名必须与类名相同

  B:构造方法的返回类型只能是void 

  C:构造方法的主要作用是完成对实例对象的初始化工作

  D:在创建对象时,系统会自动调用构造方法

9:接口定义的方法要求(D)

  A:公共的

  B:抽象的

  C:静态的

  D:公共抽象的

10:下面那些是正确排序的方法(A,B,D)

  A:冒泡排序

  B:选择排序

  C:二分排序

  D:插入排序

11:以下对继承描述错误的是(B)

  A:父类更具有通用性,子类更具体

  B:JAVA中的继承允许一个子类继承多个父类

  C:JAVA的继承存在传递性

  D:当实例化子类时会先调用父类中的构造方法

12:以下关于引用与对象关系说法错误的是(C,D)

  A:本类的引用可以指向本类对象

  B:父类的引用可以指向子类的对象

  C:子类的引用可以指向父类的对象

  D:Object的引用可以指向所有类型

13:关于参数传递说法正确的(A,B)

  A:基本数据类型参数传递的是值,引用数据类型参数传递的是引用

  B:不管是基本数据类型还是引用数据类型都是值传递

  C:基本数据类型参数传递的是数据值,引用数据类型参数传递的是对象

  D:基本数据类型参数是值传递,引用数据类型传递是引用传递

14:关于JAVA数组说法正确的是(A,B)

  A:数组对象有.length属性

  B:数组对象的.length属性不可更改

  C:数组对象有.length()方法

  D:数组对象没有任何方法

15:关于构造方法说法正确的是(A,B,D)

  A:构造方法不能被继承

  B:构造方法不能被重写

  C:构造方法不能被重载

  D:构造方法不能被final修饰

16:下面说话正确的是(D)

  A:匿名内部类编译后不会生成.class文件

  B:接口编译后不会生成.class文件

  C:抽象类中没有构造方法

  D:局部内部类只能访问被final修饰的局部变量

17:下面关于修饰符说法正确的是(B)

  A:访问修饰符控制了父类那些内容能够被子类继承

  B:访问修饰符控制了类的那些内容能够被外部直接可见

  C:与其为私有属性提供的get/set,不如直接将属性设置为public

  D:访问修饰符对方法重载也有影响

18:下面关于类,对象和实例说法正确的是(D)

  A:类就是对象,对象就是类,实例是对象的另一个名称,三者没有关系

  B:对象是类的抽象,类是对象的具体化,实例是对象的另一个名称

  C:类是对象的抽象,对象是类的具体化,实例是类的另一个名称

  D:类是对象的抽象,对象是类的具体化,实例是对象另一个名称

19:下面关于动态绑定说法正确的是(B,C)

  A:父类的引用可以指向父类的对象

  B:父类的引用可以指向子类的对象

  C:接口的引用可以指向实现类的对象

  D:实现类的引用可以指向接口的对象

20:下面关于==与equals说法错误的是(B,C)

  A:==号是判断两个数据量的值是否相等

  B:equels是判断两个对象的每个属性是否相等

  C:==号不可用于对象相等的判断

  D:equals不可用于基本数据类型的判断

21:下面说法不正确的是(C)    JAVA语言支持单继承多实现

  A:类是对象的抽象,对象是类的实例

  B:类是组成JAVA程序的基本单位

  C:JAVA语言支持多继承

  D:一个程序中只能有一个public类

22:下面说法正确的是(A)

  A:抽象类中可以没有抽象方法

  B:抽象类中定义的方法一定是抽象的

  C:抽象类中一定存在抽象方法

  D:抽象类的子类一定要实现抽象类中的抽象方法

23:以下关于Object方法中,说法错误的是(A,C)

  A:to String()方法的作用是把当前对象转换成字符串形式进行打印

  B:equals()方法的作用是判断当前对象与传入对象是否相等

  C:finalize()是销毁对象的方法,不能被重写

  D:数组也具备Object中所有方法

24:下面关于重写方法正确的是(A,B,D)

  A:重写是发生在有继承关系的类当中

  B:方法名和参数列表要一致

  C:方法的访问修饰符重写前必须比重写后同范围或范围更小

  D:方法抛出的异常重写前必须必重写后的范围更大或通同范围

25:关键字abstract可以修饰那些选项(A,D)

  A:类

  B:属性

  C:构造

  D:方法

26:关于抽象类描述不正确的是(C)

  A:有abstract关键字修饰,允许包含未实现方法的类被称为抽象类

  B:在抽象类中可以不包含抽象方法

  C:抽象类可以实例化

  D:抽象类可以被继承

27:以下关于Object类说法错误的是(B)

  A:一切类都直接或者间接继承Object类

  B:接口也继承Object类

  C:Object类中定义了to String()方法

  D:Object类在JAVA.lang包中

28:以下关于接口说法正确的是(C,D)

  A:接口中的方法全是抽象方法

  B:接口中的属性都是公开静态常量,系统默认赋值为0或null

  C:接口中的抽象方法也是抽象的

  D:接口体现了约定于实现的分离

29:在JAVA中,多态的实现不仅能减少编码的工作量,还能大大的提高程序的可维护性及可拓展性,下面哪一个选项不属于多态条件(B)

  A:子类重写父类的方法

  B:子类重载同一个方法

  C:要有继承关系或者实现关系

  D:父类引用指向子类对象

30:关于接口说法正确的是(A,D)

  A:接口是一种引用数据类型

  B:接口的父亲也是Object

  C:接口不能定义变量属性

  D:接口有默认的构造方法

31:下面关于静态初始化块和实例初始化块说法正确的是(B)

  A:静态初始化块只能被调用一次,是在第一次产生对象的时候

  B:每次产生对象的时候都会执行一次实例化块

  C:每次产生对象的时候都会执行一次静态初始化块

  D:实例初始化块是在执行构造方法之后马上被执行的

32:以下关于继承说法错误的是(A,B,D)

  A:子类可以无条件从父类继承属性,行为,和构造方法

  B:子类不能从父类中继承私有属性或方法

  C:子类可以继承父类私有的属性和方法,只是无法直接操作

  D:同一个父类下不同子类,可以继承父类不同的属性和方法

33:关于方法调用栈说法正确的是(B,D)

  A:方法调用栈遵循先进先出的原则

  B:方法调用栈遵循先进后出的原则

  C:方法调用栈适合于普通方法,与构造方法无关

  D:方法调用栈适合于所有方法

34:下面关于数据类型转换说法正确的是(B,C,D)

  A:所有类型都可以进行任意的数据类型转换

  B:类型转换分为自动类型转换和强制类型转换

  C:向上转型就是自动类型转换

  D:向下转型就是强制类型转换

35:为体现丰富度,JAVA的接口允许--多继承--接口,实现类允许--多实现--接口

36:在使用this和super关键字时,以下描述正确的是(D)

  A:this()和super()可以同时在一个构造方法中使用

  B:this()和super()可以不放在构造器的第一行

  C:this()和super()如果不写的话均有默认

  D:super()有默认,this()没有

37:关于构造器方法说法正确的是(A,B,D)

  A:构造方法不能被继承

  B:构造方法不能被重写

  C:构造方法不能被重载

  D:构造方法不能被final修饰

38:在JDK8中,允许接口可以添加已经实现了的方法,但是方法要求在声明上添加关键字(B)

  A:final

  B:default

  C:synchronized

  D:break

39:下面是面向过程编程与面向对象编程说法正确的是(A,C,D)

  A:先有面向过程编程,后有面向对象编程

  B:面向对象编程比面向过程编程更接近人类的自然思维

  C:面向过程编程是按步骤进行设计

  D:面向对象编程是按职责进行角色划分

40:静态初始化块是在JVM---(类加载或加载类)---的时候被执行,只执行这一次;实例初始化块是在new对象的时候执行,每产生一个对象就执行一次;

41:下面关于对象说法不正确的是(B)

  A:万物皆对象

  B:对象一定是看的见摸的着的

  C:对象因关注产生

  D:对象包含属性和行为

42:以下是关于单继承与多继承说法正确的是(C,D)

  A:单继承比多继承更好

  B:多继承比单继承更好

  C:单继承的继承结构更加清晰

  D:多继承的继承结构更加丰富

43:以下关于面向对象说法错误的是(A,C,D)

  A:面向对象是编程的一种思维方式,是程序开发人员专有的思维方式

  B:面向对象是人类认识问题域的一种思维方式,不仅仅是在软件开发中使用

  C:在当前的软件开发中,面向对象已经完全取代了面向过程

  D:在当前软件开发中,只有面向过程和面向对象两种编程思维

44:动态多态的关键性技术是重写和---(动态绑定)---技术

45:为避免向下转型的风险,应该在转型前先使用---(instanceof)---运算符进行判断

46:下面关于多态说法错误的是(B,D)

·  静态多态指的是重写重载

  A:多态分为静态多态与动态多态

  B:静态多态指的是static方法的多态

  C:动态多态指的是编译时不确定绑那个对象,运行时才能确定

  D:多态必须建立在继承的基础上

47:下面对static的描述正确的是(A,C,D)

  A:静态修饰的成员变量和成员方法随着类的加载而加载

  B:静态修饰的成员方法可以访问非静态成员变量

  C:静态修饰的成员可以被整个类对象所分享

  D:静态修饰的成员变量和成员方法随着类的消失而消失

48:以下说法正确的是(A,C)

  A:static代码块中不能书写this,super关键字

  B:static不能和final同时修饰方法

  C:静态初始化块中不能操作非static属性

  D:实例初始化块中不能操作static属性

49:接口中定义属性的要求是(D)

  A:公共的

  B:静态的

  C:常量

  D:以上三者都要满足

50:下面关于抽象类和接口的说法那个是正确的(C,D)

  A:抽象类中只能包括抽象方法,必须写abstract关键字

  B:接口中的方法只能是抽象的,但不能写abstract关键字

  C:接口中的方法只能是public的

  D:抽象类不能被抽象类继承

猜你喜欢

转载自www.cnblogs.com/djl888/p/11972690.html
今日推荐