Java面试必知:面向对象与接口试题解析
版权申诉
10 浏览量
更新于2024-07-08
收藏 59KB DOC 举报
"这份文档是关于Java编程的笔试题目,涵盖了面向对象特性、集合框架、访问修饰符、SQL操作、页面间数据传递、以及类与方法的使用等多个知识点。"
1. 面向对象的语言如Java具有封装性、继承性和多态性。封装性使得数据和方法可以被保护,防止外部随意访问;继承性允许子类继承父类的属性和方法,实现代码重用;多态性则允许不同对象对同一消息作出不同的响应,增强了程序的灵活性。
2. Java中的foreach循环(增强for循环)适用于实现了Iterable接口的对象,或者声明了`iterator()`方法的类型,例如List、Set、Map等集合。
3. Java集合框架中的五大主要对象包括ArrayList、LinkedList、HashMap、HashSet和TreeSet,它们分别代表了动态数组、链表、哈希映射、无序集合和有序集合。
4. 接口在Java中是完全抽象的,不能包含虚方法(即非抽象方法),选项A错误;一个类可以实现多个接口,选项B正确;接口不能被实例化,只能被类实现,选项C正确;接口中可以包含默认方法,但不能包含已实现的非默认方法,选项D错误。因此,正确的叙述是B和C。
5. 从数据库读取记录,通常会用到的方法有ExecuteReader(用于获取数据集)、ExecuteScalar(用于获取单个值)和Fill(用于填充DataTable)等。ExecuteNonQuery通常用于执行不返回结果集的SQL命令,如INSERT、UPDATE、DELETE等。
6. Java访问修饰符private、protected、public和internal(在C#中,Java中对应的是包访问权限)的访问权限分别是:private限制在同一类内访问,protected允许同一包内及子类访问,public可在任何地方访问,internal(在Java中是包访问权限)允许同一包内的类访问。
7. SQL语句取出表A中第31到第40记录(假设ID为主键且自动增长)可以写为:`SELECT * FROM A WHERE ID BETWEEN 31 AND 40`。
8. 页面间传递值的方式有URL参数传递、Session存储、Cookie存储、ViewState、QueryStrings、HiddenField以及服务器控件的ViewState等。
9. 下面的Java程序输出结果分析:
- Add方法是静态的,不会影响类的实例变量,所以i1和i2的值不变,输出依然是10和20。
- StringConvert方法改变了str引用的对象,而非str变量本身,所以输出的str仍为空。
- 类的构造函数不直接影响静态成员,因此'A'只打印一次。
- 类A的`public virtual void SayHello()`方法因为是抽象的,没有具体实现,所以无法直接调用。
由于题目中未提供完整代码,程序的最后部分(第7题)的输出结果无法确定。如果`SayHello`是抽象方法,那么在`Main`方法中调用它会导致编译错误。如果提供了具体实现,那么输出将取决于`SayHello`方法的实现。
2022-06-11 上传
2010-12-23 上传
2022-06-11 上传
2021-06-02 上传
2021-10-07 上传
2008-09-26 上传
2022-06-10 上传
2022-06-10 上传
soidh222
- 粉丝: 0
- 资源: 1万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建