Java面及答题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目: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. 接口和抽象类的区别是什么? 接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。 抽象类表示

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档