- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java最全面试题库
目录
Object Oriented Programming (OOP)
General Questions about Java
Java Threads
Java Collections
Garbage Collectors
Exception Handling
Java Applets
Swing
JDBC
Remote Method Invocation (RMI)
Servlets
JSP
面向对象编程(OOP)
Java是支持并发,基于类的以及面向对象的一种计算机编程语言. 以下列举了面向对象编程的优势:
模块化编程,使维护和修改更加容易
代码重用
提高代码的可靠性以及灵活性
提高代码可读性
面向对象编程有其非常明显的特性,比如说封装,继承,多态和抽象. 下面我们来分析一下每种特性.
封装(Encapsulation)
封装,提供的对象隐藏内部特性和行为的一种能力,每个对象提供了一些方法,其他的对象可以访问并改变其内部数据。在Java中,提供了三种访问修饰符: 公有的,私有的以及保护的。每个修饰符都设定了不同的访问权限,这个权限设置不会因为包的不同而有差异。
下面是使用封装的一些优点:
通过隐藏属性来保护对象的内部信息
因为可以独立的修改或者扩展对象的行为,从而提高代码的可用性以及维护性
隔离,通过阻止对象使用不希望的互动方式来交互,以此来提高模块化程度。
你可以通过链接访问我们的教程查看关于封装更多的细节和实例.
多态(Polymorphism)
多态就是针对不同的基础数据类型呈现相同接口的一种能力,多态类型就是其操作可以适用于不同类型值的一种类型。
继承(Inheritance)
继承提供了一个对象从基类获取字段和方法的一种能力.继承提供了代码的重用性,并且在不更改现有类的情况下,对现有类增加额外的功能。
抽象(Abstraction)
抽象是从具体的实例中分离想法的过程,根据他们各自的功能而非具体的实现来开发类. Java中支持创建和存在暴露接口的抽象类, 而没有包括方法的具体实现。抽象方法的宗旨就是将类的行为和具体实现分离开。
抽象和封装的异同
抽象和封装是个互补的概念。一方面,抽象专注在对象的行为上,而另外一方面,封装专注于对象的行为的具体实现。封装是通过隐藏对象的内部信息来实现的,因此也可以被看做是抽象的一种策略。
有关Java的一般问题
1. 什么是JVM??为什么称Java为跨平台的编程语言?
Java虚拟机(Java Virtual Machine)是可以执行Java字节码的虚拟机,每个Java源文件将被编译成字节码文件,然后在JVM中执行。Java之所以被设计成可以在任意的平台运行,而不需要重写或者在不同的平台下重新编译,这些都要归功于Java虚拟机(JVM),因为JVM非常了解特定的指令的长度以及底层硬件平台的特殊性。
2. JDK和JRE之间的差异是什么?
Java运行环境(Java Runtime Enviroment) 是运行Java程序的基本的Java虚拟机,包括执行applet的浏览器插件。JDK (Java Development Kit) 是为了开发,编译和执行Java应用程序,针对Java的全功能的软件开发包,包含了JRE,编译器和工具(比如说JavaDoc?和Java Debugger)。
3. “static” 关键字是什么意思?在Java里可以 override private 或 static 的方法吗? keyword mean ? Can you override private or static method in Java ?
static 关键字表示,访问这个成员变量或方法时,不必获取它属于的类的实例。
Java 里的 static 方法不能被 override,因为 override 的机制是运行时(runtime)的动态绑定,而 static 方法是在编译时静态绑定的。static 方法并不与任何类的具体实例有关,因此无法应用继承的概念。
4. 在静态方法里可以访问非静态变量吗?
Java?中的 static 变量归相应的类所有,它的值对于类的所有实例都是相同的。static 变量是在 JVM 加载类的时候初始化的。如果代码试图访问非静态的变量,而且不是通过类的实例去访问,编译器会报错,因为这些非静态变量还没有被创建呢,并且它们没有与实例相关联。
5. Java 支持哪些数据类型?什么是 Autoboxing 和 Unboxing?Java语言支持的8个基本数据类型如下:
byte
short
int
long
float
double
boolean
char
Autoboxing 是指在基本数据类型和对应的包装(wrapper)类之间Java 编译
您可能关注的文档
- V2.7.2视频监控主站系统集成测试报告.doc
- 杏园立交防尘治理专项方案.docx
- 2015年HACCP论文:出口食品企业备案采信第三方工作研究与探讨.doc
- 011地下室防水工程质量管控.doc
- 4.20附小讲课策划.docx
- 脚手架方案确定使用稿件.doc
- 3(修改3)构筑昌九一体重要支点-打造创新创业双创基地.docx
- 纵向排水管施工技术交底.doc
- 中铁润海公司工程部防台防讯工作总结报告.docx
- 钢结构工程质量问题图片lgq.doc
- 2024-2030年中国全自动蛋白印迹仪行业前景动态与未来趋势预测报告.docx
- 2024-2030年中国全身感染治疗行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国六氯乙硅烷行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国全釉瓷砖行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国光电池行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国光纤适配器行业运营态势与前景动态预测报告.docx
- 2024-2030年中国光纤加速度计(FOA)行业前景动态与投资盈利预测报告.docx
- 2024-2030年中国光敏高分子材料市场现状调查与未来发展趋势研究研究报告.docx
- 2024-2030年中国保健品行业发展分析及投资风险预测分析报告.docx
- 2024-2030年中国全装修营销态势与投资盈利预测报告.docx
文档评论(0)