你的位置:首页 > Java教程

[Java教程]Javaoop选择题总结


解析:使用流,是为了简化数据的读写操作,让程序员能专注在有效合理的数据处理上,而不是底层的数据写入对应的物理地址,磁盘驱动器的状态等等方面。所以,此答案为B

解析:参看Java Doc,在List接口的说明中,实现其的子类有Stack、Vector、LinkedLisk、ArrayList。Set不是其子类,而是与其并行的接口(同一个父接口Collection)。正确答案B

解析:本题考查HashMap类的特性。HashMap类是基于哈希表的 Map 接口的实现。它提供所有可选的映射操作,并允许使用 null 值和 null 键。但此类不保证映射的顺序,特别是它不保证该顺序恒久不变。本题应选择B。

解析:使用JDBC API查询数据库时,遵循下面的顺序:
1). 声明数据库驱动:DriverManager.getDriver("数据库驱动");
2). 获取Connection,调用getConnection()方法
3). 通过Connection获取Statement
4). 利用Statement进行数据库查询,返回记录集ResultSet,
因此最终答案是:(2)-->(1)-->(4)-->(3)

解析:分层是为了能够将数据,业务,表示进行有条理的分解,再加以组合的开发方式。目标是为了能够进行“高内聚,低耦合”,让各个层专注各自的领域目标,常规情况下DAO就是对数据进行存储访问操作,而表示层则是进行数据的展示,表现数据给用户、接受用户数据的。分层虽然有以上优点,但是增加的程序的复杂度,把简单直接的操作,进行分离,归类,为后期进行维护,修改降低复杂程度。所以,正确答案 B,C

解析:本题考查HashMap类和Hashtable类的区别。Java中,HashMap类和Hashtable类都是基于哈希表的 Map 接口的实现。选项A的描述是正确的。Java集合框架中,有些类是线程同步安全的类,它们是Vector、Hashtable、Stack、enumeration。除了这些之外,其他的都是非线程安全的类和接口。线程安全类的方法是同步的,每次只能一个访问,它们是重量级对象,效率较低。对于非线程安全的类和接口,在多线程中需要程序员自己处理线程安全问题。Hashtable类的性能会低于HashMap类,选项B和选项C的描述是正确的,但选项D的描述是错误的。因此,本题应选择D。

解析:本题考查的是抽象类和抽象方法的使用。抽象类的子类必须实现父类中的抽象方法,除非子类也是抽象的。本题Square类中应该实现父类中的draw()方法。正确答案是B。

解析: 1、我们想通过构造方法将外部传入的参数赋值给类的成员变量,构造方法的形式参数名称与类的成员变量名相同。

this表示当前对象,也就是当前类对象,super表示当前类的父类。
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:test();B中也有个方法: test();
那么在A 中用this.test()调用的就是A中定义的方法,而super.test()调用的就是A的父类B中定义的方法test();

解析:本题考查迭代器Iterator常用方法的掌握程度。Java的Iterator主要用来遍历集合容器里的数据。常用方法有:boolean hashNext():如果迭代的集合元素还有未遍历的数据,则返回true;Object next():返回集合里下一个元素;void remove():删除集合里上一次next方法返回的元素。
本题应选择A。

解析:a错误,int/double返回的double类型,而方法定义返回的int类型
d错误,参数列表相同,编译通不过。

解析:泛型集合使用时,需要在引用的类型上进行明确,如果没有明确,那么该集合就是可以存储操作任何Object和其子类对象。本题②其实和①等同效果,所以,答案是B

解析:本题考查泛型语句的语法。Java的SortedSet是一个接口,其中的元素使用其自然顺序进行排序,或者根据通常在创建有序 set 时提供的 Comparator 进行排序。该 set 的迭代器将按元素升序进行遍历。它提供了一些附加的操作来利用这种排序。first()方法返回此 set 中当前第一个(最低)元素;tailSet()方法返回此 set 中大于等于指定的数值(方法的参数值)的所有元素。对返回的set添加泛型时,应该在赋值运算符的左侧限定泛型类型。因此,本题应选择A。

解析:实现继承的语法为:子类 extends 父类。因此该题目中,Animal为Dog的父类,Dog为MiniDog的父类,当然也可以说Animal是 MiniDog的父类

解析:本题考查的是throw和throws的用法。throw用于手动抛出异常,除Java语言中定义的异常类型外,还可抛出自定义异常。throws用于声明方法中可能发生的异常,说明知道方法中可能有异常但不想马上处理,而希望抛出给上级处理。应选择D。

解析:当父类为抽象类,子类不重写父类中的抽象方法是的时候,我们可以把子类页定义成抽象类,所以C选项是错误的。其他选择均正确

解析:没有关闭流,所以内容没有写入进去。

解析:第一个空:Class.forName 加载数据库驱动
第二个空:conn.prepareStatement(sql) 预编译需要先把sql作为参数传进去
第三个空:rs.getInt(1) 第一个字段,并且是number类型