文档详情

Java面及答题.doc

发布:2017-04-23约1.98万字共29页下载文档
文本预览下载声明
题目:120 个 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方法跟类的任何实例都不相关,所以概念上不适用。private 也是不支持覆盖的,因为私有的 成员外界是看不到的所以也就不存在覆盖的问题。 4. 是否可以在 static 环境中访问非 static 变量? static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入 的时候, 会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因 为这些变量还没有被创建出来,还没有跟任何实例关联上。 5. Java 支持的数据类型有哪些?什么是自动拆装箱? Java语言支持的8种基本数据类型是: 整型:byte short int long 浮点型:float double 布尔型:boolean 字符型:char 自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double等等。反之就是自动拆箱。 6. Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? 重写方法的规则:(方法重写也称为方法覆盖) 1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。 2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。 3、访问修饰符的限制一定要大于被重写方法的访问修饰符(publicprotecteddefaultprivate) 4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如: 父类的一个方法申明了一个检查异常 IOException,在重写这个方法是就不能抛出 Exception,只能抛出 IOException 的子类异常,可以抛出非检查异常。 而重载的规则: 1、必须具有不同的参数列表; 2、可以有不责骂的返回类型,只要参数列表不同就可以了; 3、可以有不同的访问修饰符; 4、可以抛出不同的异常; 重写与重载的区别在于:重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不 同的参数就可以拥有不同的功能或返回值。用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般. 7. Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数? 当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提 供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。 Java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数 必须有它自 己唯一的参数列表。 Java不支持像 C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java 不 会创建默认的复制构造函数。 8. Java 支持多继承么?支持多实现吗? 不支持,Java 不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。 9. 接口可以继承接口吗?如果可以继承 请列举一个案例? 可以,List 继承 Collection 10. 接口和抽象类的区别是什么? 接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。 抽象类表示
显示全部
相似文档