2020年最新Java面试专题答案.doc
上传人:是立****92 上传时间:2024-09-11 格式:DOC 页数:23 大小:99KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

2020年最新Java面试专题答案.doc

2020年最新Java面试专题答案.doc

预览

免费试读已结束,剩余 13 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,Java开发工具包,提供了Java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,Java运行环境,为Java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译Java源码的编译器Javac,还包含了很多Java程序调试和分析的工具。简单来说:如果你需要运行Java程序,只需安装JRE就可以了,如果你需要编写Java程序,需要安装JDK。2.==和equals的区别是什么?==对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而equals默认情况下是引用比较,只是很多类重新了equals方法,比如String、Integer等把它变成了值比较,所以一般情况下equals比较的是值是否相等。3.两个对象的hashCode()相同,则equals()也一定为true,对吗?不对,两个对象的hashCode()相同,equals()不一定true。4.final在Java中有什么作用?final修饰的类叫最终类,该类不能被继承。final修饰的方法不能被重写。final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。5.Java中的Math.round(-1.5)等于多少?等于-1。round()是四舍五入,注意负数5是舍的,例如:Math.round(1.5)值是2,Math.round(-1.5)值是-1。6.String属于基础的数据类型吗?String不属于基础类型,基础类型有8种:byte、boolean、char、short、int、float、long、double,而String属于对象。7.Java中操作字符串都有哪些类?它们之间有什么区别?操作字符串的类有:String、StringBuffer、StringBuilder。String声明的是不可变的对象,每次操作都会生成新的String对象,然后将指针指向新的String对象StringBuffer由于很多方法都被synchronized修饰了所以线程安全,但是当多线程访问时,加锁和释放锁的过程很平凡,所以效率相比StringBuilder要低。StringBuilder相反执行效率高,但是线程不安全。8.Stringstr="i"与Stringstr=newString(“i”)一样吗?不一样,因为内存的分配方式不一样。Stringstr=“i"的方式,Java虚拟机会将其分配到常量池中,如果常量池中有"i”,就返回"i"的地址,如果没有就创建"i",然后返回"i"的地址;而Stringstr=newString(“i”)则会被分到堆内存中新开辟一块空间。9.如何将字符串反转?使用StringBuilder或者stringBuffer的reverse()方法10.String类的常用方法都有那些?indexOfcharAtreplacetoLowerCasetoUpperCasesubstringequalstrimsplitgetByteslength11.抽象类必须要有抽象方法吗?不需要,抽象类不一定非要有抽象方法;但是包含一个抽象方法的类一定是抽象类。12.普通类和抽象类有哪些区别?普通类不能包含抽象方法,抽象类可以包含抽象方法。抽象类是不能被实例化的,就是不能用new调出构造方法创建对象,普通类可以直接实例化。如果一个类继承于抽象类,则该子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。13.抽象类能使用final修饰吗?不能,定义抽象类就是让其他类继承的,如果定义为final该类就不能被继承,这样彼此就会产生矛盾,所以final不能修饰抽象类14.接口和抽象类有什么区别?实现:抽象类的子类使用extends来继承;接口必须使用implements来实现接口。构造函数:抽象类可以有构造函数;接口不能有。实现数量:类可以实现很多个接口;但只能继承一个抽象类【java只支持单继承】。访问修饰符:接口中的方法默认使用public修饰;抽象类中的抽象方法可以使用Public和Protected修饰,如果抽象方法修饰符为Private,则报错:Theabstractmethod方法名intypeTestcanonlysetavisibilitymodifier,oneofpublicorprotected。15.Java中IO流分为几种?按功能来分:输入流(input)、输出流(output)。按类型来分:字节流和字符流。字节流和字符流的区别是: