目录面向对象编程(OOP)常见的Java问题Java线程Java集合类垃圾搜集器异常处理Java小应用程序(Applet)SwingJDBC远程措施调用(RMI)ServletJSP面向对象编程(OOP)Java是一种支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的长处:代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性。增长代码的可理解性。面向对象编程有诸多重要的特性,例如:封装,继承,多态和抽象。下面的章节我们会逐一分析这些特性。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供某些能被其他对象访问的措施来变化它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一种包或者不一样包下面对象赋予了不一样的访问权限。下面列出了使用封装的某些好处:通过隐藏对象的属性来保护对象内部的状态。提高了代码的可用性和可维护性,由于对象的行为可以被单独的变化或者是扩展。严禁对象之间的不良交互提高模块化。参照这个文档获取更多有关封装的细节和示例。多态多态是编程语言给不一样的底层数据类型做相似的接口展示的一种能力。一种多态类型上的操作可以应用到其他类型的值上面。继承继承给对象提供了从基类获取字段和措施的能力。继承提供了代码的重用行,也可以在不修改类的状况下给现存的类添加新特性。抽象抽象是把想法从详细的实例中分离出来的环节,因此,要根据他们的功能而不是实现细节来创立类。Java支持创立只暴漏接口而不包括措施实现的抽象的类。这种抽象技术的重要目的是把类的行为和实现细节分离开。抽象和封装的不一样点抽象和封装是互补的概念。首先,抽象关注对象的行为。另首先,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以当作是用来提供抽象的一种方略。常见的Java问题1.什么是Java虚拟机?为何Java被称作是“平台无关的编程语言”?Java虚拟机是一种可以执行Java字节码的虚拟机进程。Java源文献被编译成能被Java虚拟机执行的字节码文献。Java被设计成容许应用程序可以运行在任意的平台,而不需要程序员为每一种平台单独重写或者是重新编译。Java虚拟机让这个变为也许,由于它懂得底层硬件平台的指令长度和其他特性。2.JDK和JRE的区别是什么?Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同步也包括了执行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包括了JRE,编译器和其他的工具(例如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。3.”static”关键字是什么意思?Java中与否可以覆盖(override)一种private或者是static的措施?“static”关键字表明一种组员变量或者是组员措施可以在没有所属的类的实例变量的状况下被访问。Java中static措施不能被覆盖,由于措施覆盖是基于运行时动态绑定的,而static措施是编译时静态绑定的。static措施跟类的任何实例都不有关,因此概念上不合用。4.与否可以在static环境中访问非static变量?static变量在Java中是属于类的,它在所有的实例中的值是同样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。假如你的代码尝试不用实例来访问非static的变量,编译器会报错,由于这些变量还没有被创立出来,还没有跟任何实例关联上。5.Java支持的数据类型有哪些?什么是自动拆装箱?Java语言支持的8中基本数据类型是:byteshortintlongfloatdoublebooleanchar自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一种转化。例如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。6.Java中的措施覆盖(Overriding)和措施重载(Overloading)是什么意思?Java中的措施重载发生在同一种类里面两个或者是多种措施的措施名相似不过参数不一样的状况。与此相对,措施覆盖是说子类重新定义了父类的措施。措施覆盖必须有相似的措施名,参数列表和返回类型。覆盖者也许不会限制它所覆盖的措施的访问。7.Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?当新对象被...