- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java是一种基于类和面向对象的计算机编程语言。 面向对象的软件开发的优点如下:
代码模块化开发,从而导致维护和修改方便。
可重用性的代码。
提高了可靠性和代码的灵活性。
增加代码的可读性。
面向对象程序设计包含了许多显著的特点,如封装 , 继承 , 多态和抽象 :
封装
封装提供对象隐藏其内部特征和行为的能力。 每一个对象提供了一些方法,这些方法可以由其他对象来访问和改变其内部的数据。 在Java中,有三种访问修饰符:公共,私有和保护。 每个修饰符规定不同的访问权限,这种访问无论是来自相同的或外部的包。
一些使用封装的优点列举如下:
每一个对象内部状态是通过隐藏属性实现保护。
它增加了代码可用性和维护性,因为对象的行为可以独立地改变或扩展。
它通过防止对象以不希望的方式彼此相互作用,提高了模块化。
多态性
多态性是编程语言中呈现相同的接口,用于实现不同的基础数据类型的能力。 一个多态型是一种类型,其操作也可以应用于其他一些类型的值。
继承
继承提供了一个对象获得另一个类的字段和方法称为基类的能力。 继承提供了重用性的代码,可以用来添加额外的功能到现有的类,而不需要修改它。
抽象化
抽象是分离抽象和具体的实现,开发者可以在自己的具体类中实现自己的功能。 Java支持抽象类,接口暴露的创建和存在,抽象类不包括的所有方法的实际执行。 抽象方法的目的是从类的行为中分离出其实现细节。
抽象和封装之间的差异
抽象和封装是相辅相成的概念。 一方面,抽象专注于一个对象的行为。 另一方面,封装专注于一个对象的行为的执行细节??。 封装通常是通过隐藏关于对象的内部状态的信息,因此,可以看作是为了提供抽象化中使用的一种实现策略。
关于Java的一般问题
1。 什么是JVM? 为什么Java是"平台无关的编程语言"?
Java虚拟机(JVM)是一个过程的虚拟机 ,可以执行Java 字节码 。 每个Java源文件编译成字节码文件,它是由JVM执行。
Java不必由程序员为每个单独的平台进行重写或重新编译。 Java虚拟机,使这一切成为可能,因为它知道特定的指令长度和底层硬件平台的其他特殊情况。
2。 什么是JDK和JRE的区别?
Java运行时环境(JRE)是基本的Java虚拟机(JVM),包括Java执行程序。 它还包括浏览器插件小程序执行。 Java开发工具包(JDK)是Java全功能软件开发工具包,包括JRE,编译器和工具(如JavaDoc ,和Java Debugger )。
3。 "静态"的关键字是什么意思? 你可以在Java重写私有或静态方法?
static关键字表示该成员变量或方法可以被访问,而无需到它所属的类的实例化。
用户不能覆盖静态方法 ,因为方法重载是基于在运行时动态绑定,而静态方法是在编译时绑定。 静态方法不与任何类的实例相关联,这个概念并不适用。
4。 您可以在静态上下文中访问非静态变量?
在Java中静态变量是属于它的类,它的所有实例值保持不变。当类被JVM加载时,静态变量被初始化。 如果你的代码试图不在任何实例中访问非静态变量,编译器会报错,因为这些变量尚未创建,他们不与任何实例相关联。
5。 什么是Java支持的数据类型? 什么是自动装箱Autoboxing和拆箱Unboxing?
通过Java编程语言支持的八个基本数据类型有:
byte
short
int
long
float
double
boolean
char
Autoboxing是Java编译器提出在基本类型和它们对应的对象包装类之间实现自动转换,。 例如,编译一个int转换为Integer ,double到Double 等。 如果反过来转换操作称为unboxing 。
6。 什么是函数重载?
当同一个类中两个或多个具有完全相同的名称但参数不同的Java方法时,会发生重载。 在另一方面,方法覆盖定义:一个子类重新定义的作为父类相同方法。 覆盖方法必须具有相同的名称,参数列表和返回类型。
7。 什么是构造函数,构造函数重载和拷贝构造函数?
创建一个新的对象时,构造函数被调用。 每个类都有一个构造函数 。 若程序员不提供构造函数的类,Java编译器(javac)创建一个默认的构造函数。
构造函数重载是类似于Java方法重载。 不同的构造函数可以为一个类来创建。 每个构造函数都必须有自己独特的参数列表。
Java不支持如C + +的拷贝构造函数,如果你不写你自己的构造函数,Java不会创建一个默认的拷贝构造函数。
8。 Java是否支持多重继承?
不,Java不支持多重继承。 每个类是能够只在一个类扩展,但能够实现多个接口。
9。 接口和抽象类之间的区别是什么?
Java提供和支持创建抽象类和接口。 这两种实现共享一些共同的特征,但它们在以下功
文档评论(0)