1 以下属于面向对象的特征的是()
答:面向对象的特征主要是:封装、继承、多态。而多态的实现主要是函数方法的重载和重写。所以这道题的答案应该是ABCD。
重载和重写的区别:重载是编译时的多态,指的是在一个类当中同名的方法有不同的参数(包括类型及数量其中一个不同即可)。重写是运行时的多态,指的是子类重写父类的方法且有相同的返回类型。
2 以下代码运行输出是()
3 在使用super 和 this 关键字时,以下描述正确的是()
- A. 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
答:super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行。this()函数主要应用于同一类中从某个构造函数调用另一个重载版的构造函数。this()只能用在构造函数中,并且也只能在第一行。所以在同一个构造函数中this()和super()不能同时出现。而在static中只能调用static的方法或者属性。而super和this都属于构造函数。所以不能再static环境中使用。即这道题应选A。
4. 以下对封装的描述正确的是()
- A. 只能对一个类中的方法进行封装,不能对属性进行封装
- B. 如果子类继承了父类,对于父类中封装的方法,子类仍然可以直接调用
- C. 封装的意义不大,因此再编码时尽量不要使用
- D. 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
答:在JAVA中,封装就是将对象自身的属性或者方法进行访问限制,即private
、protected
、public
。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。在这道题当中A选项中是可以对属性进行封装。B选项中父类的私有方法子类无法调用。所有答案是D。
5. 以下对于继承描述错误的是()
- A. JAVA中的继承允许一个子类继承多个父类
- B. 父类更具有通用性,子类更具体
- C. JAVA中的继承具有传递性
- D. 当实例子类时会递归调用父类的构造方法
答:JAVA中继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。子类实际上是将父类定义的更加的具体化的一种手段。父类表示的范围大,而子类表示的范围小。一个子类只能够继承一个父类,存在单继承局限,且只允许多层继承,不允许多重继承,Java存在单继承局限。实例化子类对象,会默认先调用父类构造,为父类之中的属性初始化,之后再调用子类构造,为子类之中的属性初始化。所以答案为A
6. 以下程序运行结果为()
答:通过前面的介绍我们知道,super和this关键字必须在构造器的第一行且不能再静态方法中使用。所以此题选D。
7. 以下说法错误的是()
- A. super.方法()可以调用父类所有非私有方法
- B. super()可以调用父类的所有非私有构造函数
- C. super.属性可以调用父类的所有非私有属性
- D. this和super关键字可以出现在同一个构造函数中
8. 以下关于final关键字说法错误的是()
- A. final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
- B. final修饰的类肯定不能被继承
- C. final修饰的方法不能被重载
- D. final修饰的变量不允许被再次赋值
答:在Java中,final关键字可以用来修饰类、方法和变量。当用final修饰一个类时,表明这个类不能被继承。final修饰的方法在子类中不能被重写。final修饰的变量是不能再次赋值的,为常量。而接口和抽象类设计出来就是为了继承的,所有不能用final修饰。答案为AC。
9. 访问修饰符作用范围由大到小是()
-
notify():唤醒在此对象监视器上等待的单个线程。7.
void notifyAll()
:唤醒在此对象监视器上等待的所有线程。8.String toString()
:返回该对象的字符串表示。9.void wait()
:导致当前的线程等待。所以答案为D。
11. 多态的表现形式有()
-
答案:AB。在JAVA中,多态的实现主要由4种方式:方法重载,方法重写,抽象类和接口。
12. 以下对重载描述错误的是()
- A. 方法重载只能发生在一个类的内部
- B. 构造方法不能重载
- C. 重载要求方法名相同,参数列表不同
- D. 方法的返回值类型不是区分方法重载的条件
14 . 以下对抽象类的描述正确的是()
- A. 抽象类没有构造方法
- B. 抽象类必须提供抽象方法
- C. 有抽象方法的类一定是抽象类
- D. 抽象类可以通过new关键字直接实例化
答:抽象类是指在普通类的结构里面增加抽象方法的组成部分。抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明。所以抽象类是有构造方法的,因为抽象类是由普通类演变来的。抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理。抽象类里面的抽象方法必须全部被子类实现,如果子类不能全部实现,那么子类必须也是抽象类。但抽象类可以没有抽象方法。应选C。
15. 以下对接口描述错误的有()
- A. 接口没有提供构造方法
- D. 接口不允许多继承
答:在JAVA中,接口是一个特殊的抽象类,是抽象方法的集合,只有抽象方法和全局常量(用static final
修饰的变量),且没有构造方法。接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口。接口的子类必须要覆写接口中的全部抽象方法。接口的对象可以利用子类对象的向上转型进行实例化。且子类在实现接口的同时还可以继承继承抽象类。抽象方法可以不用写public abstract
,全局常量可以不用写public
16. 以下代码,描述正确的有()
16. 以下代码,描述正确的有()
-
A. 第1行错误,没有给变量赋值
-
B. 第2行错误,方法没有修饰符
-
C. 第4行错误,没有实现接口的全部方法
-
D. 第3行错误,没有方法的实现
17.接口和抽象类描述正确的有()
17.接口和抽象类描述正确的有()
-
A. 抽象类没有构造函数
-
B. 接口没有构造函数
-
C. 抽象类不允许多继承
-
D. 接口中的方法可以有方法体
接口与抽象类的区别:接口是对动作的抽象,而抽象类是对根源的抽象。相同点->都不能被直接实例化,都包含了抽象方法。不同点->抽象类中可以有非抽象方法且有构造函数。接口中只有抽象方法且没有构造函数。一个类可以实现多个接口但只能继承一个抽象类。抽象级别:接口>抽象类>实现类。
18. 以下描述错误的有()
19. 以下描述正确的有()
-
A. 方法的重写应用在一个类的内部
-
B. 方法的重载与返回值类型无关
-
C. 构造方法不能重载
-
D. 构造方法可以重写
答:选B。构造方法不能被重写。因为子类和父类的构造方法名称不一样。
20. 以下程序运行结果是()
-
D. 运行出错,无输出
答:选A。在JAVA中,子类调用父类的方法会使用父类的属性。
21. 以下对异常的描述不正确的有()
23 . 下面代码运行结果是()
24 . 以下描述不正确的有()
25 . 以下对自定义异常描述正确的是()
-
B. 自定义异常可以继承自Error
-
C. 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
-
D. 程序中已经提供了丰富的异常类,使用自定义异常没有意义
答:自定义异常必须继承于Throwable。选C。
26 . 以下程序运行结果是()
27 . 以下对TCP和UDP描述正确的是()
-
A. TCP不能提供数据的可靠性
-
B. UDP能够保证数据库的可靠性
- 答:选D。TCP提供可靠数据,UDP提供不可靠数据。所以TCP的效率低于UDP。
28 . 在Java中,下面对于构造函数的描述正确的是()
-
A. 类必须显示定义构造函数
-
B. 构造函数的返回类型是void
-
C. 构造函数和类有相同的名称,并且不能带任何参数
-
D. 一个类可以定义多个构造函数
-
答:HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。选B。
31 . 下列选项中关于java中super关键字的说法错误的是()
-
A. super关键字是在子类对象内部指代其父类对象的引用
-
B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
-
C. 子类可以通过super关键字调用父类的方法
-
D. 子类可以通过super关键字调用父类的属性
33 . 在Java中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作
33 . 在Java中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作
-
C. 添加和删除元素时,ArrayList的表现更佳
-
D. HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
答:选C。ArrayList:动态数组,中间插入删除慢、按位置查找快。LinkedList:双向链表,中间插入删除快、按位置查找慢。
-
A. 数据库中表的名称
-
B. 数据库服务器的机器名
36 . 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在()包中。
类、事件模型、日期和时间设施、国际化和各种实用工具类。集合类、时间处理模式、日期时间工具等各类常用工具包。java.math提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
37 . Java中,以下()接口以键-值对的方式存储对象。
38 . 以下关于对象序列化描述正确的是()
39 . 在Java中,()类可用于创建链表数据结构的对象。
40 . 分析下面这段Java代码,它的运行结果是()。
41 . 使用JDBC事务的步骤是()
-
B. 发生异常回滚事务
-
D. 操作完毕提交事务
答:事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。选CABD。
42 . 以下对JDBC事务描述错误的是( )
-
B. JDBC事务属于容器事务类型
-
C. JDBC事务可以保证操作的完整性和一致性
43 . 要通过可滚动的结果集更新数据,以下正确的是()
44 . 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是()
45 . 以下描述正确的是()
-
D. 以上选项都不正确
47 . 获取ResutlSet对象rst的第一行数据,以下正确的是()
47 . 获取ResutlSet对象rst的第一行数据,以下正确的是()
48 . 以下可以正确获取结果集的有()
49 . 以下负责建立与数据库连接的是()
50 . 使用JDBC连接数据库的顺序是()
-
C. 发送并处理SQL语句
-
D. 建立于数据库的连接