一、面向对象编程(OOP)
Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:
代码开发模块化,更易维护和修改。.
代码复用。
增强代码的可靠性和灵活性。.
增加代码的可理解性。
面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个
分析这些特性。
1、封装
封装给对象提供了隐藏内部特性和行为的能力。对象提供-些能被其他对象访问的方法来改
变它内部的数据。在Java当中,有3种修饰符: public, private 和protected。每一种修饰 符
给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
通过隐藏对象的属性来保护对象内部的状态。
提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
禁止对象之间的不良交互提高模块化。
2、多态
多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。一个多态类型上的操
作可以应用到其他类型的值上面。
3、继承
继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用行,也可以在不修
改类的情况下给现存的类添加新特性。
4、抽象
抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来
创建类。Java支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。
5、抽象和封装的不同点
抽象和封装是互补的概念。一方面,抽象关注对象的行为。另一方面,封装关注对象行为的
细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。
二、什么是Java虛拟机?为什么Java被称作是“平台无关的编程语言”?
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虛拟
机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写
或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他
特性。
三、JDK和JRE的区别是什么?
Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要
的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他
的工具(比如: JavaDoc, Java调试器),可以让开发者开发、编译、执行Java应用程序。