Java软件开发常见面试题及答案.doc

上传人:坚持 文档编号:2098893 上传时间:2019-04-24 格式:DOC 页数:23 大小:19.93KB
下载 相关 举报
Java软件开发常见面试题及答案.doc_第1页
第1页 / 共23页
Java软件开发常见面试题及答案.doc_第2页
第2页 / 共23页
Java软件开发常见面试题及答案.doc_第3页
第3页 / 共23页
Java软件开发常见面试题及答案.doc_第4页
第4页 / 共23页
Java软件开发常见面试题及答案.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、Java 软 件开发常见面试题及答案时间:2016-10-14 14:32 来源:未知 作者:os 点击:101次1.什么是 Java 虚拟机? 为什么 Java 被称作是“ 平台无关的编程语言”?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2.JDK 和 JRE 的区 别是什么?JDK: java 开发工具包,包含了 JRE、编译器和其

2、它工具(如:javaDOc、java 调试 器)JRE: java 运行环境,包含 java 虚拟 机和 java 程序所需的核心类库。如果只是想跑 java 程序,那么只需安装 JRE,如果要写java 程序并且运行,那就需要 JDK 了。3.“static“关键字是什么意思?Java 中是否可以覆盖一个private 或者是 static 的方法?如果一个类的变量或者方法前面有 static 修饰,那么表明这个方法或者变量属于这个类,也就是说可以在不创建对象的情况下直接使用当父类的方法被 private 修饰时,表明该方法为父类私有,对其他任何类都是不可见的,因此如果子类定了一个与父类一样

3、的方法,这对于子类来说相当于是一个新的私有方法,且如果要进行向上转型,然后去调用该“覆盖方法” ,会产生编译错误class Parent private fun() .class Child extends Parent private fun() .class Test public static void main(String args) Parent c = new Child();c.fun(); /编译出错static 方法时编译时静态绑定的,属于类,而覆盖是运行时动态绑定的(动态绑定的多态),因此不能覆盖.4.Java 支持的基本数据类型有哪些?什么是自动拆装箱?java 支持的

4、基本数据类型有以下 9 种:byte,shot,int,long,float,double,char,boolean,void.自动拆装箱是 java 从 jdk1.5 引用,目的是将原始类型自动的装换为相对应的对象,也可以逆向进行,即拆箱。这也体现 java 中一切皆 对象的宗旨。所谓自动装箱就是将原始类型自动的转换为对应的对象,而拆箱就是将对象类型转换为基本类型。java 中的自动拆装箱通常发生在变量赋值的过程中,如:Integer object = 3; /自动装箱int o = object; /拆箱在 java 中,应该注意自动拆装箱,因为有时可能因为java 自 动装箱机制,而导致

5、创建了许多对象,对于内存小的平台会造成压力。5. 覆盖和重载是什么?覆盖也叫重写,发生在子类与父类之间,表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。重载是指在一个类中,可以有多个相同名称的方法,但是他们的参数列表的个数或类型不同,当调用该方法时,根据传递的参数类型调用对应参数列表的方法。当参数列表相同但返回值不同时,将会出现编译错误,这并不是重载,因为jvm 无法根据返回值类 型来判断应该调用哪个方法。6.Java 支持多继承么?

6、 如果不支持,如何实现?在 java 中是单继承的,也就是说一个类只能继承一个父类。java 中 实现多继承有两种方式,一是接口,而是内部类./实现多个接口 如果两个接口的变量相同 那么在调用该变量的时候 编译出错interface interface1 static String field = “dd“;public void fun1();interface interface2 static String field = “dddd“;public void fun2();class child implements interface1,interface2 static Strin

7、g field = “dddd“;Overridepublic void fun2() Overridepublic void fun1() /内部类 间接多继承class Child class Father private void strong() System.out.println(“父类“);class Mother public void getCute() System.out.println(“母亲“);public void getStrong() Father f = new Father();f.strong();public void getCute() Mother

8、 m = new Mother();m.getCute();7.什么是值传递和引用传递?java 中是值传递还是引用传递,还是都有?值传递 就是在方法调用的时候,实参是将自己的一份拷贝赋给形参,在方法内,对该参数值的修改不影响原来实参,常见的例子就是刚开始学习 c 语言的时候那个交换方法的例子了。引用传递 是在方法调用的时候,实参将自己的地址传递给形参,此时方法内对该参数值的改变,就是对该实参的实际操作。在 java 中只有一种传递方式,那就是值传递.可能比较让人迷惑的就是 java 中的对象传递时,对形参的改变依然会影响到该对象的内容。下面这个例子来说明 java 中是值传递.public class Test

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。