文档介绍:115个Java笔试题和答案
面向对象编程(OOP)
Java是一个支持并发、基于类和面向对象的计算机编 程语言。下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改。
代码复用。
增强代码的可靠性和灵活性。
增加代码的可理解性。
面向对象编程有很多重要的特性,比如:封装,继承, 多态和抽象。下面的章节我们会逐个分析这些特性。
封装
封装给对象提供了隐藏内部特性和行为的能力。对象 提供一些能被其他对象访问的方法来改变它内部的数据。 在Java当中,有3种修饰符:pub lie , privat e和pr otecte do每一种修饰符给其他的位于同一个包或者不同包 下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
通过隐藏对象的属性来保护对象内部的状态。
提高了代码的可用性和可维护性,因为对象的行为可 以被单独的改变或者是扩展。
禁止对象之间的不良交互提高模块化。
参考这个文档获取更多关于封装的细节和示例。
多态
多态是编程语言给不同的底层数据类型做相同的接口 展示的一种能力。一个多态类型上的操作可以应用到其他 类型的值上面。
继承
继承给对象提供了从基类获取字段和方法的能力。继 承提供了代码的重用行,也可以在不修改类的情况下给现 存的类添加新特性。
抽象
抽象是把想法从具体的实例中分离出来的步骤,因此, 要根据他们的功能而不是实现细节来创建类。Java支持创 建只暴漏接口而不包含方法实现的抽象的类。这种抽象技 术的主要目的是把类的行为和实现细节分离开。
抽象和封装的不同点
抽象和封装是互补的概念。一方面,抽象关注对象的 行为。另一方面,封装关注对象行为的细节。一般是通过 隐藏对象内部状态信息做到封装,因此,封装可以看成是 用来提供抽象的一种策略。
常见的Java问题
?为什么Java被称作是“平台无 关的编程语言”?
J ava虚拟机是一个可以执行Ja va字节码的虚拟机进
程。Jav a源文件被编译成能被Java虚拟机执行的字节码文 件。
J ava被设计成允许应用程序可以运行在任意的平台, 而不需要程序员为每一个平台单独重写或者是重新编译。 Jav a虚拟机让这个变为可能,因为它知道底层硬件平台的 指令长度和其他特性。和J RE的区别是什么?
Ja va运行时环境(J R E)是将要执行Jav a程序的Java 虚拟机。它同时也包含了执行a pplet需要的浏览器插件。 Java开发工具包(JDK)是完整的J ava软件开发包,包含了 JRE,编译器和其他的工具(比如:Java Doc, Java调试器), 可以让开发者开发、编译、执行Java应用程序。
” sta tic”关键字是什么意思?Java中是否可以覆 盖(overri de ) 一个 priva te 或者是 stati c 的方法?
“s tatic”关键字表明一个成员变量或者是成员方法 可以在没有所属的类的实例变量的情况下被访问。
Ja va中static方法不能被覆盖,因为方法覆盖是基 于运行时动态绑定的,而stati c方法是编译时静态绑定的。 s tatic方法跟类的任何实例都不相关,所以概念上不适用。
是否可以在static环境中访问非static