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.一个类只能有一个父类,但可以实现多个接口
?D
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.静态方法中不能使用this和super关键字。
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
}
其中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 APl的含义是Java应用程序连接___数据库__的编程接口
15. 用 final 修饰的类,不能再被继承
16.在定义一个类时,如果没有使用 extends 关键字,那么这个类直接继承 object 类。
17.继承通过 extends 关键字来实现。
18. 方法名相同, 参数列表 不同,这称为构造方法的重载
19、Java 中有常量,使用 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
}
其中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()方法从输入流读取1个8位的字节,把它转换为_0—255_之间的整数返回
35.我们通常使用InputStream的子类___ FileInputStream__类来实现文本文件内容的读取。
36.字节流操作的最小数据单元为_8_位的字节,而字符流操作的最小数据单元是16位的字符。
37._流是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道。
38.__ java.io_包提供了一些接口和类,对文件进行基本的操作,包括对文件和目录属性的操作 ,对文件读写的操作。
39. 接口中没有的方法是构造方法
40.接口中的方法都是抽象方法
41.一个类要实现接口,关键字是implements
42. ArrayList的初始化内容如下:
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中所有的“java”的代码
1、抽有象类中可以有构造方法吗?
解答:抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,若此构造方法
不是由 private 修饰,也可以被本类的子类中的构造方法调用。
2、抽象类和抽象方法的特点?
答:(1) 抽象类和抽象方法都通过 abstract 关键字来修饰。
(2) 抽象类不能实例化。抽象类中可以没有、有一个或多个抽象方法,甚至全部方法都可以
是抽象方法。
(3) 抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须
重写所有的抽象方法才能实例化,否则子类还是一个抽象类。
3、类和对象有什么区别?
答:类(Class)和对象(Object)是面向对象中的两个核心概念。类是对某一类事物的描述,是抽象的、概念上的定义。对象是实际存在的、具体的事物个体。类和对象的关系就好比模具和用模具
制作出的物品的关系。因此我们可以由一个类创建多个对象。
4、面向过程和面向对象有什么区别?
答:例如五子棋,面向过程是首先分析问题的思路。1 开始游戏—2 黑子先走--3 判断输
赢—4 白子再走--5 判断输赢—6 返回步骤(2)—7 最后输出结果。
而面向对象的设计则是从另外的思路来解决问题,则首先分析游戏需要哪些类:黑白双方玩
家、棋盘系统和游戏规则。然后分析各种类的行为:选手行为是一致的,棋盘系统负责绘制
画面,规则系统负责判定诸如犯规、输赢等。
面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。面向对象的核心是封
装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。面向对象因为采用
了类,所以具有封装、继承和多态特性,提高了代码重用性、可维护性和扩展性,适合大型
项目的开发。
5.简述开发JDBC程序一般需要经过哪几个基本步骤?
1. 加载JDBC驱动
2. 与数据库建立连接
3. 创建statement对象,发送sql语句,并得到返回结果
4. 处理返回结果
5. 关闭相关资源
6.请写出JDBC中常见的4个接口
Connection、Statement、ResultSet、PreparedStatement
7.重载(overloading)和重写(overriding)有什么区别和联系?
答:重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型和
修饰符无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相
同(或是其子类)、访问修饰符不能严于父类。
8.请写出 java.lang.Object 的 6 个方法。
1、equals()方法 2、finalize()方法 3、hashCode()方法 4、toString()方法 5、clone()方法 6、wait()方法
9.方法重载的判断依据?
ü答: 1.必须在同一个类里。
ü 2.方法名相同。
ü 3.参数列表(方法形参的个数或参数类型)不同。
ü 4.与方法返回值和方法修饰符没有任何关系。
10.根据自己的理解,典型的DAO模式主要由哪几部分组成?
典型的 DAO 模式主要由 DAO 接口、DAO 实现类、实体类组成。基于代码复用考虑, 通常创建一个数据库连接和关闭工具类
11.根据自己的理解简单说明下什么是DAO?
Data Access Objects,数据存取对象,位于业务逻辑和持久化数据之间,实现对持久化数据的访问
12.简述throw和throws的区别
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. FileWriter和BufferedWriter的区别与联系?
联系:
1、FileWriter和BufferedWriter都是用于字符输出流。
2、如果要使用BufferedWriter,一定会用到FileWriter,BufferedWriter是FileWriter 为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);