java oop 题目_Javaoop选择题总结

3b4a0247092537ce49357768a450215e.png

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

e3f1e9607b8038637367b8c30b94cbb4.png

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

7f5d712e428c04c671ff6b89e83dc2c6.png

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

e3166c2109570039f79a5ae1d8662260.png

解析:使用JDBC API查询数据库时,遵循下面的顺序:

1). 声明数据库驱动:DriverManager.getDriver("数据库驱动");

2). 获取Connection,调用getConnection()方法

3). 通过Connection获取Statement

4). 利用Statement进行数据库查询,返回记录集ResultSet,

因此最终答案是:(2)-->(1)-->(4)-->(3)

a07d9060e05d6aa4be76d7bead1549e2.png

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

24beeddba7b3f486b820a08373e27a17.png

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

9a46ea8460921ea432ab8ed753ff0091.png

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

410cbca4a5dd98d5f473200df9f3471d.png

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

this表示当前对象,也就是当前类对象,super表示当前类的父类。

举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:test();B中也有个方法: test();

那么在A 中用this.test()调用的就是A中定义的方法,而super.test()调用的就是A的父类B中定义的方法test();

373716979aa3066eb5948c759502c900.png

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

本题应选择A。

735fbf67123be1dc779e934aac072c9a.png

590914e86c806713c5da21742bb10840.png

解析:a错误,int/double返回的double类型,而方法定义返回的int类型

d错误,参数列表相同,编译通不过。

b644696a21fc8068833d75fa001ac1e0.png

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

d03f06e4f54fe53390b750b937cca6c1.png

73ea250a08d454edf47301774ce44f9c.png

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

5f54418d91bea02efb66e1e436150b3a.png

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

aa2e4583e598596bbd8eac717538d7f3.png

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

16374fac160522ddd99e228614d058b2.png

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

dd028d139779f1c6cbca80083f63b0ab.png

aaeb68dc2349017362b37378c335d650.png

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

13d54a1b830dfe98353f322f6e839a6b.png

79bf0f0a56e77d19dd68942665ddad06.png

解析:第一个空:Class.forName 加载数据库驱动

第二个空:conn.prepareStatement(sql) 预编译需要先把sql作为参数传进去

第三个空:rs.getInt(1) 第一个字段,并且是number类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开发阳光旅行网app中用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。 具体功能要求如下: (1)显示系统主菜单 包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。 图1 主菜单 (2)添加出行订单 填写出行日期、联系人手机号码、循环录入出行人信息。 出行人信息包括: 出行人类别:成人、儿童(1.2m以下)、老人(65岁以上) 姓名 年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”) 如果是儿童,需确定是否占床 每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下: 成人:2000元/人 儿童:免费,如需占床另加30元 老人:半价,即1000元/人 当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括: 出行日期 联系人手机号码 订单总金额(即所有出行人定单金额之和) 最后显示主菜单。执行效果如图2所示。 图2 添加出行订单 (3)查看我的出行订单信息 查看我的出行订单:查看所录入的订单信息。包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。 图3 查看我的出行订单 (4)修改行程信息 可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。 图4 手机号码不是11位 正确修改后,显示修改后的信息,并提示“修改成功!”。如图5所示。 图5 修改订单成功 (5)删除出行人 填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。 图6 删除出行人成功 图7 删除出行人失败 (6)查看行程 显示本次旅行行程信息。运行效果如图8所示。 图8 查看行程 (7)退出系统 退出当前系统,显示“欢迎下次再来。”如图9所示。 三、要求与实现步骤 (一)不使用数据库,使用对象和集合存储数据 (二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。实体类至少包含但不局限于以上3个。 (三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。 (四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。需使用到对象传参。 (五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。 (六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。 (七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。 (八)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值