java复习题库

选择题

1:下列概念中不属于面向对象这种编程范畴的是()?

         A.对象消息

         B.继承多态

         C.类封装

         D.过程调用

         ?D

2:下面哪条语句把方法声明为抽象的公共方法()?

         A.public abstract method();

         B.public abstract void method();

         C.public abstract void method(){}

         D.public void method()extends abstract

         ?B

3:下列选项中,抽象类的关键字是()?

         A.interface

         B.implements

         C.abstract

         D.class

         ?C

4:下面选项中关于 abstract 的使用正确的是( )。

         A.private abstract void blood();

         B.abstract final void blood ();

         C.static abstract void blood ();

         D.public abstract void blood ();

         ?D

5:下列说法正确的有()?

         A.不需要定义类,就能创建对象

         B.对象中必须有属性和方法

         C.属性必须是简单变量

         D.属性可以是简单变量,也可以是一个对象

         ?D

6:假设现在有一个对象X,有一个属性a.则访问当前属性的方法是()?

         A.a.x

         B.x.a

         C.A.x

         D.X.a

         ?D

7:不允许作为类及类的成员的访问控制符的是()?

         A.public

         B.private

         C.protected

         D.static

         ?D

8:class Card{}下列不属于Card类的构造方法的是()?

         A.Card(){}

         B.public Card(){}

         C.public void Card(){}

         D.private Card(){}

         ?C

9:不属于封装时用到的权限控制符的是()?

         A.public

         B.private

         C.protected

         D.static

         ?D

10:不可以用static来修饰的是()?

         A.属性

         B.方法

         C.代码块

         D.对象

?D

11:如果一个类是抽象的,需要用什么修饰?

         A.extends

         B.private

         C.abstract

         D.public

         ?C

12:封装的主要目的?

         A.隔离性

         B.安全性

         C.简便性

         D.原子性

         ?B

13:调用构造函数的关键字是?

         A.new

         B.

         C.get

         D.set

         ?A

14:重载函数有哪些特征?

         A.返回值必须一样

         B.参数列表不一样

         C.方法名一样

         D.修饰符必须一样

         ?BC

15:构造函数有哪些特征?

         A.方法名和类名一样

         B.没有返回值类型

         C.必须有参数

         D.一个类默认有一个无参构造函数?

         ?ABD

16:给类属性赋值的常用方式有?

         A.构造函数

         B.普通函数

         C.set函数

         D.get函数

         ?AC

17:如果要对类进行封装,需要把属性设置为?

         A.public

         B.protected

         C.private

         D.default

         ?C

18:为了保证类内部数据的安全性和完整性,通常使用什么?

         A.继承

         B.抽象

         C.多态

         D.封装

         ?D

19:在同一个类中,方法名称相同,参数列表不同,叫做?

         A.重写

         B.重用

         C.重载

         D.重构

         ?C

20:在类中,什么方法和类同名,没有返回值类型?

         A.抽象方法

         B.构造方法

         C.普通方法

         D.静态方法

         ?B

21:在类图中,加号"+"表示什么?

         A.public

         B.protected

         C.private

         D.default

         ?A

22:封装可以隐藏内部处理方式,封装第一步需要使用修饰符修饰变量,避免被外部直接修改,下列哪一个修饰符可以完成这项工作?

         A.public

         B.void

         C.static

         D.private

         ?D

23:如果需要创建常量,需要使用下列哪一个修饰符?

         A.public

         B.private

         C.final

         D.String

         ?C

24:下列哪一个变量不需要创建对象,直接可以根据类名调用该属性?

         A.public String str;

         B.String str;

         C.public static String str;

         D.str

         ?C

25:在java中,一个类可以同时定义许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值也可以不相同。这种特性称为();?

         A.隐藏

         B.覆盖

         C.重载

         D.java不支持此特性

         ?C

26:如果子类中的方法mymehtod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下,void mymethod(int a),则子类方法定义不合法的是()?

         A.public void method( int a)

         B.protected void method( int a)

         C.private void method( int a)

         D.void method( int a)

         ?C

27:下列选项中,定义最终类的关键字是()?

         A.interface

         B.final

         C.implements

         D.class

         ?B

28:Java语言的类间的继承的关键字是()?

         A.interface

         B.implements

         C.abstract

         D.extends

         ?D

29:java语言的类间的继承关系是()?

         A.多重的

         B.单重的

         C.不能继承的

         D.线程的

         ?B

30:为MyClass类中一个无形式参数无返回值的method书写方法头,使得使用类名MyClass作为前缀就可以直接调用()?

         A.static void method()

         B.final void mehtod()

         C.public void mehtod()

         D.abstract void method()

         ?A

31:java中所有类的父类是()?

         A.object

         B.Father

         C.Lang

         D.Exception

         ?A

32:构造方法何时被调用()?

         A.类定义时

         B.创建对象时

         C.调用对象方法时

         D.使用对象属性时

         ?B

33:下面哪种情况属于方法重载()?

         A.方法名相同,参数类型与个数不同

         B.方法参数类型相同

         C.方法参数个数相同

         D.方法返回类型相同

         ?A

34:下面说法中不正确的是()?

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

         B.类是组成java程序的最小的单位

         C.java支持多继承

         D.一个java源文件只能有一个public类

         ?C

35:如果一个类不想让别的类进行访问,需要什么修饰?

         A.private

         B.getter

         C.setter

         D.protect

         ?A

36:static静态块什么执行?

         A.创建对象时候

         B.类加载时

         C.访问属性时

         D.调用方法时

         ?B

37:方法重写的意义有哪些?

         A.从父类中继承的方法,不能满足子类需求的时候,一般需要重写该方法

         B.随意重写

         C.必须重写父类中的方法

         D.所有父类的方法都可以重写

         ?A

38:哪个关键字强制调用父类的构造函数或者属性?

         A.this

         B.super

         C.extends

         D.new

         ?B

39:通过哪个关键字来继承类?

         A.implements

         B.set

         C.new

         D.extends

         ?D

40:下列哪种说法是正确的()?

         A.实例方法可直接调用超类的实例方法

         B.实例方法可直接调用超类的类方法

         C.实例方法可直接调用其他类的实例方法

         D.实例方法可直接调用本类的类方法

         ?D

41:下列关于抽象类和抽象方法描述错误的是?

         A.抽象类和抽象方法必须通过abstract修饰

         B.抽象类不能实例化

         C.抽象方法只有方法声明,没有方法实现

         D.抽象方法可以通过构造方法实例化

         ?D

42:下列选项中关于重写描述正确的是?

         A.重写涉及的是子类和父类之间的同名方法

         B.重写方法名相同,参数相同,返回值相同

         C.重写和重载一样

         D.重写的方法返回值可以为任意类型

         ?AB

43:在子类中使用哪一个关键字可以获得父类属性?

         A.this

         B.static

         C.super

         D.name

         ?C

44:所有Java类都直接或间接继承了哪个类?

         A.String

         B.Object

         C.Interesting

         D.Hero

         ?B

45:现有一个类,类名是SuperClass,下列选项中是SuperClass的子类是?

         A.public class SubClass SuperClass{}

         B.public class SubClass extends SuperClass{}

         C.public class SubClass static SuperClass{}

         D.public class SubClass void SuperClass{}

         ?B

46:如果一个类不想被继承,可以使用哪个关键字修饰?

         A.public

         B.final

         C.abstract

         D.static

         ?B

47:如果一个类继承了抽象类,需要对其中的抽象方法进行?

         A.重用

         B.重构

         C.重载

         D.重写

         ?D

48:如果一个类中有抽象方法,那这个类是?

         A.抽象类

         B.实现类

         C.超类

         D.派生类

         ?A

49:如果子类的构造方法显性的继承父类的有参构造方法,需要用?

         A.extends

         B.public

         C.super

         D.abstract

         ?C

50:子类不能继承父类的什么?

         A.构造方法

         B.私有属性

         C.公共属性

         D.普通方法

         ?AB

51:在java中,一个类可以同时定义许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值也可以不相同。这种特性称为();?

         A.隐藏

         B.覆盖

         C.重载

         D.java不支持此特性

         ?C

52:如果子类中的方法mymehtod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下,void mymethod(int a),则子类方法定义不合法的是()?

         A.public void method( int a)

         B.protected void method( int a)

         C.private void method( int a)

         D.void method( int a)

         ?C

53:下列选项中,定义最终类的关键字是()?

         A.interface

         B.final

         C.implements

         D.class

         ?B

54:java语言的类间的继承的关键字是()?

         A.interface

         B.implements

         C.abstract

         D.extends

         ?D

55:java语言的类间的继承关系是()?

         A.多重的

         B.单重的

         C.不能继承的

         D.线程的

         ?B

56:为MyClass类中一个无形式参数无返回值的method书写方法头,使得使用类名MyClass作为前缀就可以直接调用()?

         A.static void method()

         B.final void mehtod()

         C.public void mehtod()

         D.abstract void method()

         ?A

57:java中所有类的父类是()?

         A.object

         B.Father

         C.Lang

         D.Exception

         ?A

58:构造方法何时被调用()?

         A.类定义时

         B.创建对象时

         C.调用对象方法时

         D.使用对象属性时

         ?B

59:下面哪种情况属于方法重载()?

         A.方法名相同,参数类型与个数不同

         B.方法参数类型相同

         C.方法参数个数相同

         D.方法返回类型相同

         ?A

60:下面说法中不正确的是()?

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

         B.类是组成java程序的最小的单位

         C.java支持多继承

         D.一个java源文件只能有一个public类

         ?C

61:如果一个类不想让别的类进行访问,需要什么修饰?

         A.private

         B.getter

         C.setter

         D.protect

         ?A

62:如果要把父类转换为子类,需要用什么进行判断?

         A.typeof

         B.instanceof

         C.sizeof

         D.trueof

         ?B

63:如果要把父类转换为子类,需要进行?

         A.强制类型转换

         B.自动类型转换

         C.向高转换

         D.向低转换

         ?A

64:把子类转换为父类成为,称为?

         A.向高转换

         B.向低转换

         C.向上转换

         D.向下转换

         ?C

65:@override代表什么意思?

         A.重写

         B.重载

         C.重用

         D.重构

         ?A

66:多态的基础是?

         A.抽象

         B.继承

         C.封装

         D.多态

         ?B

67:抽象方法的方法体里一般有几条语句?

         A.0

         B.1

         C.2

         D.3

         ?A

68:如果要实现抽象类中的抽象方法,需要进行?

         A.重构

         B.重载

         C.重写

         D.重用

         ?C

69:如果子类要调用父类的方法,可以使用哪个关键字?

         A.extends

         B.super

         C.public

         D.Person

         ?B

70:多态的表现形式?

         A.父类的类型作为方法的返回值

         B.父类的类型作为方法的参数

         C.父类的类型作为方法名

         D.修饰符必须是public类型

         ?AB

71:如果将子类的对象转换成父类的类型,说法正确的有?

         A.属于多态

         B.可以自动转换

         C.需要强制转换

         D.必须强制转换

         ?AB

72:用于判断一个对象类型的关键字是?

         A.equals()

         B.instanceof

         C.getType()

         D.new

         ?B

73:下列哪一种叙述是正确的( )?

         A.abstract修饰符可修饰字段.方法和类

         B.抽象方法的body部分必须用一对大括号{ }包住

         C.声明抽象方法,大括号可有可无

         D.声明抽象方法不可写出大括号

         ?D

74:Java中()?

         A.一个子类可以有多个父类,一个父类也可以有多个子类

         B.一个子类可以有多个父类,但一个父类只可以有一个子类

         C.一个子类可以有一个父类,但一个父类可以有多个子类

         D.上述说法都不对

         ?C

75:现在有变量a,类型是Hero,下列哪一个选项用于判断a是否是Hero类型?

         A.a.equals(Hero)

         B.a == Hero

         C.a != Hero

         D.a instanceof Hero

         ?D

76:现有两个类,SuperClass是父类,SubClass是子类,下列选项中属于向下转型的是?

         A.SuperClass s = new SubClass()

         B.SubClass sc = (SubClass)superClass

         C.SubClass s = new SubClass()

         D.SuperClass s = new SuperClass()

         ?B

77:多选的条件有?

         A.继承的存在

         B.子类重写父类方法

         C.父类引用变量指向

         D.使用接口

         ?ABC

78:现有两个类,SuperClass是父类,SubClass是子类,下列选项中属于多态用法的是?

         A.public void print()

         B.public SubClass get()

         C.public void get(SuperClass sc)

         D.public void get()

         ?C

79:现有两个类,SuperClass是父类,SubClass是子类,下列选项中属于向上转型的是?

         A.SuperClass s = new SuperClass()

         B.SuperClass s = new SubClass()

         C.SubClass s = new SubClass()

         D.SubClass s = null

         ?B

80:要判断一个对象是否属于某一个类,可以使用哪个关键字?

         A.typeof

         B.instanceof

         C.sizeof

         D.valueOf

         ?B    

81:在多态中,哪一种转型方法不能自动完成,必须强制执行?

         A.向低转型

         B.向高转型

         C.向下转型

         D.向上转型

         ?C

82:在多态中,将子类对象看做父类对象的做法称为?

         A.向低转型

         B.向高转型

         C.向下转型

         D.向上转型

         ?D

83:哪一个不属于多态的三个必要条件?

         A.继承

         B.重写

         C.抽象

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

         ?C

84:同一个行为具有多个不同表现形式或形态的能力,叫做?

         A.多态

         B.继承

         C.抽象

         D.封装

         ?A

85:多态有哪些优势?

         A.提高代码的扩展性

         B.提高代码的可维护性

         C.使代码更加臃肿

         D.代码扩展性降低

         ?AB

86:下列说法正确的是?

         A.多态创建的对象只能调用到父类声明过的方法

         B.两个不相关的类,对象类型能相互转换

         C.向下转型都能成功

         D.向上转型需要类型的强制转换

         ?A

87:下列哪个不是实现多态的前提条件?

         A.继承

         B.重写

         C.父类的引用指向子类的实例

         D.方法的重载

         ?D

88:下列哪几个是多态的使用方式?

         A.重写方法

         B.使用父类作为方法的返回值类型

         C.使用父类作为方法的参数

         D.方法的重载

         ?BC

89:接口中有几个构造方法?

         A.0

         B.1

         C.2

         D.以上都不对

         ?A

90:一个类要实现接口的功能,可以实现几个方法?

         A.0

         B.1

         C.2

         D.全部

         ?D

91:接口中方法的修饰符默认是?

         A.public

         B.abstract

         C.public abstract

         D.public static final

         ?C

92:接口中方法的方法体内可以有几条代码?

         A.0

         B.1

         C.2

         D.多条

         ?A

93:接口中所有的方法都是?

         A.实现方法

         B.抽象方法

         C.无返回值的方法

         D.有返回值的方法

         ?B

94:接口中的属性会自动被修饰为?

         A.public static

         B.static final

         C.public static final

         D.public final

         ?C

95:一个类要实现多个接口,用什么关键字?

         A.extends

         B.implements

         C.instanceof

         D.import

         ?B

96:子类继承父类用什么关键字?

         A.extends

         B.implements

         C.instanceof

         D.import

         ?A

97:接口的关键字是?

         A.class

         B.abstract

         C.interface

         D.public

         ?C

98:Java只支持单继承,如果要实现多个类的功能,需要用?

         A.封装

         B.继承

         C.多态

         D.接口

         ?D

99:接口中函数的特征有哪些?

         A.必须是公共函数

         B.必须是抽象函数

         C.默认是抽象函数

         D.只能定义常量

         ?ABCD

100:接口的作用是?

         A.定义一组功能

         B.实现一组功能

         C.调用一组功能

         D.以上都是

         ?A

101:关于类实现接口正确的有?

         A.一个类只能实现一个接口

         B.一个类可以实现多个接口

         C.必须重写接口中所有的函数

         D.可以重写接口中的部分函数

         ?BC

102:下列关于interface的说法正确的是:( )?

         A.interface中可以有private方法

         B.interface中可以有final方法

         C.interface中可以有function实现

         D.interface可以继承其他interface

         ?D

103:不能用来修饰interface的有()?

         A.private

         B.public

         C.protected

         D.static

         ?ACD

104:抽象类和接口之间的区别不正确的是_?

         A.抽象类中不能有普通方法

         B.接口里不能定义静态方法

         C.抽象类中可以有构造器

         D.接口里不能有构造器

         ?A

105:一个类可有__个直接父类,__个接口?

         A.一 多

         B.一 一

         C.多 一

         D.多 多

         ?A

106:JAVA中的接口定义关键字是?

         A.interface

         B.extends

         C.implement

         D.abstract

         ?A

107:接口说法中错误的是?

         A.接口中属性全是静态常量

         B.接口中所有方法都是抽象方法

         C.接口不能实例化

         D.接口的实现类可以实现接口的部分方法

         ?D

108:面向接口编程可以提高代码的?

         A.耦合性

         B.扩展性

         C.维护性

         D.趣味性

         ?ABC

109:现有两个类,SuperClass是父类,SubClass是子类,下列选项中属于向下转型的是?

         A.SuperClass s = new SubClass()

         B.SubClass sc = (SubClass)superClass

         C.SubClass s = new SubClass()

         D.SuperClass s = new SuperClass()

         ?B    

110:下列关于接口描述正确的是?

         A.接口的实现类必须实现接口的全部方法

         B.接口只能继承一个接口

         C.接口和抽象类一样

         D.接口的声明是用Class

         ?A    

111:下列关于接口和抽象类描述正确的是?

         A.都需要实现类

         B.都可以在内部创建变量

         C.都不能实例化

         D.都需要继承

         ?C

112:现有接口Interface,下列哪一个选项实现了此接口?

         A.public class ClassImpl

         B.public class ClassImpl implements Interface

         C.public class ClassImpl extends Interface

         D.public class ClassImpl static InterFace

         ?B

113:一个子类实现了多个接口,就必须对他们的抽象方法进行?

         A.继承

         B.重写

         C.实现

         D.封装

         ?B

114:接口中的变量会被修饰为?

         A.final

         B.public final

         C.static final

         D.public static final

         ?D

115:接口中的所有方法都是?

         A.构造方法

         B.重写方法

         C.抽象方法

         D.普通方法

         ?C

116:如果要实现接口,使用的关键字是?

         A.extends

         B.implements

         C.interface

         D.abstract

         ?B

117:java只能单继承,如果要实现多继承,可以使用?

         A.接口

         B.抽象

         C.多态

         D.继承

         ?A

118:下列关于接口的特征叙述不正确的是?

         A.全局常量的常量名一般要所有字母都大写

         B.接口的全局常量在子类中可以直接使用

         C.一个类可以多继承,也可以多实现

         D.一个类实现接口就要重写所有抽象你方法

         ?C

119:下列关于接口的叙述,不正确的是?

         A.接口中的方法可以简写

         B.接口不可以创建对象

         C.接口中的方法有方法体

         D.接口中的方法都是抽象方法

         ?C

120:关于接口的说法,正确的有?

         A.接口中只有全局常量和抽象方法

         B.实际项目常采用面向接口编程

         C.面向接口编程并不能让代码量减少或明显减少

         D.接口只能被被单实现,但可以多层继承

         ?ABC

121:以下关于接口的说法中,不正确的是?

         A.接口中的方法必须是抽象方法,所有方法必须是public访问权限

         B.接口中属性都使用public static final修饰,没有显示赋值时将使用默认值

         C.接口可以有构造方法

         D.一个类只能有一个父类,但可以实现多个接口

         ?C

122:如果一段代码会出现多种异常,可以使用多重catch块,最后一个是?

         A.NullPointerException类

         B.ArithmeticException类

         C.Exception类

         D.ClassCastException

         ?C

123:如果一段代码会出现多种异常,可以使用多重catch块,排序顺序是?

         A.从子类到父类

         B.从父类到子类

         C.从基类到超类

         D.从超类到基类

         ?A

124:如果try块中有return语句,finally还会执行吗?

         A.不会

         B.会

         C.看情况

         D.以上都不对

         ?B

125:finally块中语句不被执行的唯一情况,在异常处理代码中执行了?

         A.break

         B.return

         C.System.exit(0)

         D.System.exit(1)

         ?D

126:try-catch-finally结构中,哪一个是必不可少的?

         A.try

         B.catch

         C.finally

         D.throw

         ?A

127:如果希望一行代码无论是否发生异常都执行,可以放到哪个块中?

         A.static

         B.finally

         C.public

         D.try

         ?B

128:如果程序中发生了异常,后面的语句还会执行吗?

         A.会

         B.不会

         C.看情况

         D.以上都不对

         ?B

129:哪个语句块可以捕获异常?

         A.try

         B.catch

         C.final

         D.throw

         ?B

130:可能出现异常的代码放在哪个语句块中?

         A.try

         B.catch

         C.final

         D.throw

         ?A

131:下列哪一个关键字不能处理java异常?

         A.try

         B.catch

         C.throw

         D.final

         ?D

132:常见的受检异常有?

         A.ArrayIndexOutException

         B.NullPointerException

         C.SQLException

         D.以上都是

         ?C

133:当程序抛出受检异常时,可以怎么做?

         A.使用finally{}

         B.throws Exception

         C.不做处理

         D.try{}catch{}

         ?BD

134:常见的运行时异常有?

         A.空指针异常

         B.类找不到异常

         C.SQL异常

         D.被0除异常

         ?A

135:异常的分类有哪些?

         A.编译时异常

         B.运行时异常

         C.错误

         D.以上都是

         ?AB

136:fianaly语句块执行的特征?

         A.无论如何都会执行

         B.只有抛异常时执行

         C.不抛异常时执行

         D.都不执行

         ?A

137:java 中用来抛出异常的关键字是?

         A.try

         B.catch

         C.throw

         D.finally

         ?C

138:以下代码段中正确的是()?

         A.try{ System.out.print("try"); }catch(Exception e){ System.out.print("catch"); }finally{ System.out.print("finally"); }

         B.try{ System.out.print("try"); }finally(Exception e){ System.out.print("finally"); }

         C.try{ System.out.print("try"); }

         D.try{ System.out.print("try"); }catch{ System.out.print("catch"); }

         ?A

139:关于异常(Exception),下列描述正确的是?

         A.异常的基类为Exception,所有异常都必须直接或者间接继承它

         B.异常可以用try{ . . .}catch(Exception e){ . . .}来捕获并进行处理

         C.如果某异常继承RuntimeException,则该异常可以不被声明

         D.异常可以随便处理,而不是抛给外层的程序进行处理

         ?ABC

140:在下列说法中关于异常分类说法正确的是_?

         A.Error类错误是经常发生的错误,必须进行处理

         B.Exception类是所有异常类的父类

         C.运行时异常包括RuntimeException及其所有子类

         D.非运行时异常包括RuntimeException及其所有子类

         ?C

141:在下面的异常中,是算术逻辑错误的是_?

         A.NullPointerException

         B.ClassNotFoundeException

         D.ArithmeticException

         ?D

142:声明Java异常的关键字?

         A.try

         B.catch

         C.final

         D.throws

         ?D

143:throw 的作用_?

         A.throw 的作用

         B.捕获异常

         C.抛出异常

         D.处理异常

         ?C

144:以下属于受检异常的是?

         A.ClassCastException

         B.NullPointerException

         C.ClassNotFoundException

         D.ArithmeticException

         ?C

145:对于catch子句的排列,说法正确的是?

         A.父类在先,子类在后

         B.子类在先,父类在后

         C.有继承关系的异常不能在同一个程序段内

         D.先有子类,其他如何排列都无关

         ?B

146:一个异常将终止?

         A.整个程序

         B.抛出异常的方法

         C.产生异常的try{}块

         D.以上说法都不对

         ?A

147:关于异常,下列说法正确的是?

         A.异常是一种对象

         B.一旦程序运行,异常将被创建

         C.为了保证程序运行速度,要尽量避免异常控制

         D.以上说法都不对

         ?A

148:下列关于异常的说法,不正确的选项为?

         A.finally不管发没发生异常都会运行

         B.任何情况都不能阻止finally运行

         C.finally里边放的一般是关闭资源的代码

         D.处理完异常代码可以接着运行

         ?B

149:下列关于抛出异常的说法不正确的是?

         A.throws是在方法声明处抛出异常

         B.throw抛出异常时,需要自己手动创建异常类对象

         C.一个抛出异常的方法,被调用时,调用者会得到异常

         D.throw抛出异常时不需要手动创建对象

         ?D

150:下列关于异常的说法,不正确的是?

         A.try代码块里边写的是可能产生异常的代码

         B.catch用来处理异常

         C.一个try只能配一个catch

         D.catch处理异常时,一般是把把异常信息打印出来

         ?C

151:下列选项中能单独和catch语句一起使用的是?

         A.finally

         B.try

         C.throw

         D.throws

         ?B

152:分层开发过程中,不同层之间通过实体类来传输数据,下面说法正确的是?

A.实体类的属性一般使用public修饰

B.实体类的getter/setter方法,负责属性的读取和赋值,一般使用public修饰

C.实体类的属性一般使用private修饰

D.实体类的getter/setter方法,负责属性的读取和赋值,一般使用private修饰

?BC

153:关于分层原则的说法,不正确的是?

A.不合理分层会加大开发难度,延长开发时间

B.每一层必须有自己的职责

C.每个层次向外提供公开的统一接口,而隐藏内部的功能实现细节

D.业务逻辑层可以访问数据访问层的功能,数据访问层也能访问业务逻辑层功能

?D

154:关于分层开发,下面说法不正确的是?

A.DAO模式就是分层开发思想的体现

B.分层开发代码量减少,有利于代码维护

C.分层开发便于分工协作,提高效率

D.分层开发便于代码复用

?B

155:关于DAO模式的优势,下面说法正确的是?

A.DAO模式隔离了数据访问代码和业务逻辑代码

B.隔离了不同数据库实现

C.业务逻辑不需要了解数据访问细节

D.降低了代码的耦合性,提高了代码扩展性和系统的可移植性

?ABCD

156:关于DAO模式,下面说法不正确的是?

A.隔离了数据访问代码和业务逻辑代码

B.访据库的数据时,业务逻辑代码直接调用DAO方法即可

C.数据访问层代码变化容易影响业务逻辑代码

D.符合单一职能原则,降低了耦合性,提高了可复用性

?C

157:()是FileInputStream的子类,可用于读取二进制文件。?

A.DataOutputStream

B.DataInputStream

C.Reader

D.Writer

?B

158:BufferedWriter类是Writer类的子类,BufferedWriter类中的()方法可以插入一个换行符。?

A.void newLine()

B.void close()

C.void flush()

D.void write(String str)

?A

159:()类带有缓冲区,可以把一批数据读到缓冲区,避免每次都从数据源读取数据进行字符编码转换。?

A.Reader

B.FileReader

C.Writer

D.BufferedReader

?D

160:使用字节输出流FileOutputStream类中的哪个构造方法,在写数据时能够不覆盖文件中原有的内容。?

A.FileOutputStream(String name)

B.FileOutputStream(File file,String name)

C.FileOutputStream(String name,boolean append)

D.FileOutputStream(File file)

?C

161:InputStream类的作用就是将文件中的数据读入到内存中,该类中的哪个方法可以关闭文件输入流对象?

A.int read()

B.void close()

C.int available()

D.int read(byte[] b)

?B

162:()建议用于二进制数据(如图片),而()用于文本,它们的用法几乎是完全一样的。?

A.输入流,输出流

B.输出流,输入流

C.字节流,字符流

D.字符流,字节流

?C

163:java的输出流主要由()作为基类。?

A.OutputStream和Reader

B.OutputStream和Writer

C.InputStream和Writer

D.InputStream和Reader

?B

164:java的输入流主要由()作为基类。?

A.OutputStream和Reader

B.OutputStream和Writer

C.InputStream和Writer

D.InputStream和Reader

?D

165:()可以将信息送往程序的外部,如硬盘上的文件.打印机上的文件等。?

A.输出流

B.输入流

C.字符

D.字节

?A

166:流,是指一连串流动的字符,是以()方式发送和接收数据的通道。?

A.堆栈

B.先进后出

C.只进不出

D.先进先出

?D

167:File类中的哪个方法可以获得文件或目录的名称?

A.long length()

B.String getName()

C.boolean delete()

D.String getAbsolutePath()

?B

168:File类中的哪个方法可以判断文件或目录是否存在?

A.boolean exists()

B.boolean isDirectory()

C.String getPath()

D.String getAbsolutePath()

?A

169:File类中的哪个方法可以获得文件的相对路径名?

A.boolean exists()

B.boolean isDirectory()

C.String getPath()

D.String getAbsolutePath()

?C

170:File对象既可以表示文件,也可以表示目录,它可以查出与文件相关的信息,不包括那个选项()?

A.文件内容

B.文件名称

C.最后修改时间

D.文件大小

?A

171:解决线程死锁的问题可以使用对象锁的()方法,进入锁等待,释放对象锁,在另一个线程获取到该对象锁后执行程序代码,执行完毕后调用对象的notify()方法唤醒对象的锁等待,继续执行等待后的代码。?

A.void run()

B.void start()

C.void join()

D.void wait()

  ?D

172:()是多线程间的一种极端情况。在()时,线程间相互等待资源,而又不释放自身的资源,导致无穷无尽的等待,其结果是任务永远无法执行完成。?

A.死锁

B.多进程

C.阻塞

D.同步

  ?A

173:synchronized关键字有同步()2种方法?

A.代码快和线程

B.方法和线程

C.代码块和方法

D.线程和进程

  ?C

174:由于java的每个对象都有一个内置锁,当用synchronized修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于()。?

A.就绪状态

B.阻塞状态

C.运行状态

D.死亡状态

  ?B

175:有关线程同步的概念中,哪一项是错误的?

A.使用线程同步技术,必须确保数据在任何时刻最多只有一个线程访问,保证数据的完整性

B.线程同步的意思是多个线程排队读写一份共享资源

C.线程同步的意思是多个线程同时读写一份共享资源

D.使用线程同步技术,必须确保数据在任何时刻最多只有一个线程访问,保证数据的完整性

  ?C

176:在代码中使用关键字()来与对象的互斥锁联系。当某个对象使用()修饰时,表明该对象在任一时刻只能由一个线程访问。?

A.synchronized

B.Runnable

C.Thread

D.join

  ?A

177:运行线程的()方法不会引起阻塞状态。?

A.sleep()

B.join()

C.wait()

D.run()

  ?D

178:就绪状态的线程获取了CPU的使用权,执行程序代码时,此时处于线程的哪个状态?

A.就绪状态

B.阻塞状态

C.运行状态

D.死亡状态

  ?C

179:线程的开启要使用线程实体的()方法,开启的新线程并发执行实体的run()方法。?

A.void run()

B.void start()

C.void join()

D.void wait()

  ?B

180:通过创建()的实例来创建新的线程,你只要new一个()对象,一个新的线程也就出现了,也就是一个新的执行路线出现了。?

A.Runnable

B.Date

C.Calendar

D.Thread

  ?D

181:每个线程都是通过某个特定的Thread对象所对应的方法()来完成具体的操作,方法()称为线程体。?

A.void run()

B.void start()

C.void join()

D.void wait()

  ?A

182:开辟新线程的方法的选择应该优先选择实现()这种方式去开辟一个新的线程。因为接口的实现可以实现多个,而类的继承只能是单继承。?

A.Calendar类

B.Thread类

C.Connection接口

D.Runnable 接口

  ?D

183:下述有关线程的叙述中,选出错误的一项。?

A.线程在程序中是独立的执行流

B.线程是进程的组成部分

C.进程是线程的组成部分

D.进程的执行是指进程里面主线程开始执行了

  ?C

填空题

1.接口中的方法都是抽象的  ?

2.静态方法中不能使用thissuper关键字。

3. 往HashMap中添加元素,可以通过__put()___方法

4. JDBC APl的含义是Java应用程序连接___数据库______的编程接口

5. 如下代码所示:

              public interface PersonDao

              { 

              int add(Person person); 

              int delete(Person person); 

              int update(Person person); 

              Person getByName(String name); 

              List<Person>findByName(String name);

              }

              其中add(),delete(),update()方法是以_Person对象_____为单位来进行参数传递

6. 面向对象的三大特征  封装 ,继承 ,多态

7. 静态方法中不能使用 this           super 关键字。

8. 可以用来修饰类和方法,但不能用来修饰属性和构造方法。abstract

9. 关键字  this    通常指当前对象的引用,它可以调用当前对象 的成员。

10. 通过构造方法来创建对象:Army army= new       Army()

11.数据库操作结束后,应该__关闭数据库连接____,释放系统资源。为了确保程序的执行,关闭数据库连接语句要放到__finally ____语句块中。

12. 补全以下填空处的代码:
Statement stmt = con.createStatement() ; 
ResultSet rs = stmt.executeQuery ("SELECT  id,  name  FROM  master") ; 

while(____) {
    int id=_______;  
    String name=________;  
    System.out.println(id+" : "+name);
}

答案:rs.next(),rs.getInt("id"),rs.getString("name");

13.使用Class.forName()方法加载和注册驱动程序后,由___ DriverManager

___类负责管理并跟踪JDBC驱动程序,在数据库和相应驱动程序之间建立连接

14.JDBC&ensp;APl的含义是Java应用程序连接___数据库__的编程接口

15.      final   修饰的类,不能再被继承

16.在定义一个类时,如果没有使用 extends 关键字,那么这个类直接继承    object   类。

17.继承通过    extends     关键字来实现。

18. 方法名相同, 参数列表     不同,这称为构造方法的重载

19Java 中有常量,使用     final   关键字修饰

20.分层开发过程中,实体类最好实现 java.io.Serializable 接口,以支持___序列化

__机制,可以将该对象转换成字节序列而保存在磁盘上或在网络上传输

21.如下代码所示:
public interface PersonDao 
{  
 int add(Person person);  
 int delete(Person person);  
 int update(Person person);  
 Person getByName(String name);  
 List<Person> findByName(String name); 

其中add()delete()update()方法是以___person___为单位来进行参数传递

22.抛出异常,交给上一级处理的关键字是throw

23.在当前位置捕获并处理通过try-catch

24.如果一个方法体有异常,可以声明的关键字是throws

25. HashMap集合中,获取所有键的集合,是用keySet()方法

26.HashMap中添加元素,可以通过__ put()_方法

27.List 接口继承_ Collection_接口,存储一组不唯一、有序的对象

28.ArrayList获取长度的方法是_ size()_

29. _ sleep()_方法是线程类Thread的静态方法,调用该方法使线程暂停执行指定的时间,将CPU让给其他线程,并不释放所持有的对象锁,休眠时间结束后线程回到就绪状态.

30. 阻塞状态_是线程因为某种原因放弃 CPU 使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态

31.创建一个新线程出来有两种方法:第一个是从 _ Thread___ 类继承,另一个是实现
,Runnable __ 接口

32._ 线程_是进程中的一个执行单元,_线程_本身依靠进程进行运行

33.多线程编程又叫__并发编程__,使我们可以将运行的程序划分为多个分离的、独立运行的任务。

34. FileInputStream 类的无参 read()方法从输入流读取18位的字节,把它转换为_0—255_之间的整数返回

35.我们通常使用InputStream的子类___ FileInputStream__类来实现文本文件内容的读取。

36.字节流操作的最小数据单元为_8_位的字节,而字符流操作的最小数据单元是16位的字符。

37._是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道。

38.__ java.io_包提供了一些接口和类,对文件进行基本的操作,包括对文件和目录属性的操作 ,对文件读写的操作。

39. 接口中没有的方法是构造方法

40.接口中的方法都是抽象方法

41.一个类要实现接口,关键字是implements

42. ArrayList的初始化内容如下: 
ArrayList<String> list = new ArrayList<>();
 list.add("java");
 list.add("aaa");
 list.add("java");
 list.add("bbb");

for (int i = list.size()-1; i >= 0; i--) {
 if("java".equals(list.get(i))) {
  _
list.remove(i);___
 }
}


请在填空处写出删除list中所有的&ldquo;java&rdquo;的代码

简答题

1、抽有象类中可以有构造方法吗?

解答:抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,若此构造方法
不是由 private 修饰,也可以被本类的子类中的构造方法调用。

2、抽象类和抽象方法的特点?

答:(1) 抽象类和抽象方法都通过 abstract 关键字来修饰。
(2) 抽象类不能实例化。抽象类中可以没有、有一个或多个抽象方法,甚至全部方法都可以
是抽象方法。
(3) 抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须
重写所有的抽象方法才能实例化,否则子类还是一个抽象类。

3、类和对象有什么区别?

答:类(Class)和对象(Object)是面向对象中的两个核心概念。类是对某一类事物的描述,是抽象的、概念上的定义。对象是实际存在的、具体的事物个体。类和对象的关系就好比模具和用模具
制作出的物品的关系。因此我们可以由一个类创建多个对象。

4、面向过程和面向对象有什么区别?

答:例如五子棋,面向过程是首先分析问题的思路。开始游戏&mdash;2 黑子先走--3 判断输
&mdash;4 白子再走--5 判断输赢&mdash;6 返回步骤(2)&mdash;7 最后输出结果。
而面向对象的设计则是从另外的思路来解决问题,则首先分析游戏需要哪些类:黑白双方玩
家、棋盘系统和游戏规则。然后分析各种类的行为:选手行为是一致的,棋盘系统负责绘制
画面,规则系统负责判定诸如犯规、输赢等。
面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。面向对象的核心是封
装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。面向对象因为采用
了类,所以具有封装、继承和多态特性,提高了代码重用性、可维护性和扩展性,适合大型
项目的开发。

5.简述开发JDBC程序一般需要经过哪几个基本步骤?

1. 加载JDBC驱动
2. 与数据库建立连接
3. 创建statement对象,发送sql语句,并得到返回结果
4. 处理返回结果
5. 关闭相关资源

6.请写出JDBC中常见的4个接口

ConnectionStatementResultSetPreparedStatement

7.重载(overloading)和重写(overriding)有什么区别和联系?

答:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型和
修饰符无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相
同(或是其子类)、访问修饰符不能严于父类。

8.请写出 java.lang.Object  6 个方法。

1equals()方法 2finalize()方法 3hashCode()方法 4toString()方法 5clone()方法 6wait()方法

9.方法重载的判断依据?

ü答: 1.必须在同一个类里。
ü     2.方法名相同。
ü     3.参数列表(方法形参的个数或参数类型)不同。
ü     4.与方法返回值和方法修饰符没有任何关系。

10.根据自己的理解,典型的DAO模式主要由哪几部分组成?

典型的 DAO 模式主要由 DAO 接口、DAO 实现类、实体类组成。基于代码复用考虑, 通常创建一个数据库连接和关闭工具类

11.根据自己的理解简单说明下什么是DAO

Data Access Objects,数据存取对象,位于业务逻辑和持久化数据之间,实现对持久化数据的访问

12.简述throwthrows的区别
1、作用不同:throw用于程序中抛出异常;throws声明该方法内抛出了异常
2、使用位置不同:throw位于方法体内部,可以作为单独语句使用;
throws必须跟在方法参数列表的后面,不能单独使用
3、内容不同:throw抛出一个异常对象,而且只能是一个;
throws后面跟异常类,而且可以跟多个异常类

13.简述为什么不使用if-else处理异常

1、代码臃肿,加入了大量的异常情况判断和处理代码
2、减少了编写业务代码的时间,影响开发效率
3、异常处理和业务代码交织在一起,影响代码的可读性,加大了程序的可维护性

14. 简述实现多态的两种方式

1、使用父类作为方法形参实现多态
2、使用父类作为方法返回值实现多态

15.简述多态的作用和优势

多态可以减少类中的代码量,提高了代码的扩展性和可维护性

16.如果要把带参方法的name赋值给本类中的name,应写

this.name=name

17.构造方法的作用是

参数初始化或初始化参数

18. FileWriterBufferedWriter的区别与联系?

联系:
1FileWriterBufferedWriter都是用于字符输出流。
2、如果要使用BufferedWriter,一定会用到FileWriterBufferedWriterFileWriter parameter(参数)的!
Public BufferedWriter(FileWriter fileWriter)
区别:
1、使用BufferedWriter的效率要比FileWriter高很多。因为BufferedWriter把一批数据写到缓冲区,当缓冲区满的时候,再把缓冲区的数据写到字符输出

18.列出字节输出流FileOutputStream类中的三个构造方法,及构造方法中参数的含义?

1.FileOutputStream(File file)file指定文件目标数据源
2.FileOutputStream (String name),name指定文件目标数据源,包含路径信息
3. FileOutputStream(String name,boolean append),name指定文件目标数据源,包含路径信息。 append 表示是否在文件末尾添加数据,若设置为true,则在文件末尾添加数据。

19.java流按照流向进行划分可以分为哪两类?按照处理数据单元划分可以分为哪两类?

按照流向进行划分可分为输出流和输入流,按照处理数据单元划分可以分为字节流和字符流。

20.简述接口和抽象类的区别

抽象类利用代码复用;接口利于代码维护

21.简述接口的作用和优势

接口弥补了java只支持单继承的缺点,还利于代码的扩展和维护

22. 线程和进程的区别?

1、每个运行中的程序(如word,QQ)都是一个进程。进程都有独立的代码和数据空间,进程切换开销大。
2、线程在程序中是独立的执行流,同一个进程中可以有多个线程,也就是可以有多个执行路线。线程共享进程的代码和数据空间,线程切换开销小。
3、多进程:在操作系统中能同时运行多个任务(程序)。
4、多线程:在同一应用程序中有多个顺序流同时执行。

23. 线程生命周期的几种状态?

新建状态、就绪状态、运行状态、阻塞状态、死亡状态

24. 写出实现 Runnable 接口创建新线程的代码,并添加注解。主线程中循环输出0-9,新线程中循环输出10-19

public class TestThread {
 //
主线程
 public static void main(String args[]){
  //new
一个线程类的对象出来
  Runner runner = new Runner();
  /*
要启动新的线程,就必须new一个Thread对象 
   *
使用Thread(Runnable target)的构造方法 
   */
  Thread t = new Thread(runner);
  /*
启动新开辟的线程,执行run()方法,
   *新线程与主线程会一起并行执行
   */
  t.start();
  for(int i=0;i<10;i++){
   System.out.println(i);

  • 105
    点赞
  • 652
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值