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

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

ID:58820613

大小:32.00 KB

页数:34页

时间:2020-10-25

Java软件开发常见面试题及答案.doc_第1页
Java软件开发常见面试题及答案.doc_第2页
Java软件开发常见面试题及答案.doc_第3页
Java软件开发常见面试题及答案.doc_第4页
Java软件开发常见面试题及答案.doc_第5页
资源描述:

《Java软件开发常见面试题及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、他任何类都是不可见的,因此如果子类定了一个与父类一样的方法,这对于子类来说相当于是一个新的私有方法,且如果要进行向上转型,然后去调用该“覆盖方法”,会产生编译错误  classParent{  privatefun(){  ...  }  }  classChildextendsParent{  privatefun(){  ...  }  }  classTest{  publicstaticvoidmain(String[]args){  Parentc=newChild();  c.fun();//编译出错  }  }  static方

4、法时编译时静态绑定的,属于类,而覆盖是运行时动态绑定的(动态绑定的多态),因此不能覆盖.  4.Java支持的基本数据类型有哪些?什么是自动拆装箱?  java支持的基本数据类型有以下9种:byte,shot,int,long,float,double,char,boolean,void.  自动拆装箱是java从jdk1.5引用,目的是将原始类型自动的装换为相对应的对象,也可以逆向进行,即拆箱。这也体现java中一切皆对象的宗旨。  所谓自动装箱就是将原始类型自动的转换为对应的对象,而拆箱就是将对象类型转换为基本类型。java中的自动拆装箱

5、通常发生在变量赋值的过程中,如:  Integerobject=3;//自动装箱  into=object;//拆箱  在java中,应该注意自动拆装箱,因为有时可能因为java自动装箱机制,而导致创建了许多对象,对于内存小的平台会造成压力。  5.覆盖和重载是什么?  覆盖也叫重写,发生在子类与父类之间,表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。  重载是指在一个类中,可以有

6、多个相同名称的方法,但是他们的参数列表的个数或类型不同,当调用该方法时,根据传递的参数类型调用对应参数列表的方法。当参数列表相同但返回值不同时,将会出现编译错误,这并不是重载,因为jvm无法根据返回值类型来判断应该调用哪个方法。  6.Java支持多继承么?如果不支持,如何实现?  在java中是单继承的,也就是说一个类只能继承一个父类。  java中实现多继承有两种方式,一是接口,而是内部类.  //实现多个接口如果两个接口的变量相同那么在调用该变量的时候编译出错  interfaceinterface1{  staticStringfie

7、ld="dd";  publicvoidfun1();  }  interfaceinterface2{  staticStringfield="dddd";  publicvoidfun2();  }  classchildimplementsinterface1,interface2{  staticStringfield="dddd";  @Override  publicvoidfun2(){  }  @Override  publicvoidfun1(){  }  }  //内部类间接多继承  classChild{  classF

8、ather{  privatevoidstrong(){  System.out.println("父类");  }  }  classMother{  publi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。