您所在位置:主页 > 上元IT > Java前端 >

Java基础面试题汇总

2020-09-24 10:10 上元吴18358417226

Java基础面试题汇总

引言:以下面试题是我结合自身面试经历以及在网上搜和查阅书籍等相关资料汇编而成的,希望帮助那些找Java开发岗位的同学。

1.JDK 和 JRE 有什么区别?

答:JRE是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。

JDK是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。

2.== 和 equals 的区别是什么?

答:==是操作符,是比较两个对象的地址或基本类型,equals是比较两个对象的内容,属于Object里的方法。

3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

答:不对!hashCode()相同,不代表两个对象就相同。hashCode值是从hash表中得来的,hash是一个函数,该函数的实现是一种算法,通过hash算法算出hash值,hash表就是hash值组成的,一共有8个位置。

1)、如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等。 
2)、如果两个对象不equals,他们的hashcode有可能相等。 
3)、如果两个对象hashcode相等,他们不一定equals。 
4)、如果两个对象hashcode不相等,他们一定不equals。 

4.final 在 java 中有什么作用?和finally、finalize的区别是什么?

答:final的作用随着所修饰的类型而不同:

1)、final修饰类中的属性或者变量:无论属性是基本类型还是引用类型,final所            起的作用。

2)、final修饰的变量里面存放的“值”不能变。
3)、final修饰类中的方法:可以被继承,但继承后不能被重写。
4)、 final修饰类:类不可以被继承。
5)、 finally是异常处理语句结构的一部分,表示总是执行。
6)、finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

5.java 中的 Math.round(-1.5) 等于多少,Math.round(1.5)等于多少?

答:等于-1,等于2

计算方法:

1)、参数的小数点后第一位<5,运算结果为参数整数部分

2)、参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正      负)不变。

3)、参数的 小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整       数部分。

总结:大于五全部加,等于五正数加, 小于五全不加

6. Java 中的重载和重写的区别?

重载和重写都允许你用相同的名称来实现不同的功能,但是重载是编译时活动,而重写是运行时活动。你可以在同一个类中重载方法,但是只能在子类中重写方法。重写必须要有继承

重写:

1)、在子类中可以根据需要对从基类中继承来的方法进行重写。

2)、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。

3)、重写方法不能使用比被重写的方法更严格的访问权限。

重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

7.java 中操作字符串都有哪些类?它们之间有什么区别?

答:String、StringBuffer、StringBuilder可以操作拼接字符串

区别:String是不可变的对象,对每次对String类型的改变时都会生成一个新的对象,StringBuffer和StringBuilder是可以改变对象的。

对于操作效率:StringBuilder > StringBuffer > String

对于线程安全:StringBuffer 是线程安全,可用于多线程;StringBuilder 是非线程安全,用于单线程

8.String str="i"与 String str=new String("i")一样吗?

答:不一样,因为他们不是同一个对象。

9.访问修饰符public,private,protected,以及不写(默认)时的区别?

答:类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。

简单些说:Protected可在包内及包外子类访问,default只能同一包内访问,prvate只能同一类。

10.java的基本类型有哪些?String是基本类型吗

Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;String是一个对象,不是基本类型。

11.int和Integer有什么区别,为什么要使用包装类?

答:为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型,比如int的包装类就是Integer,Java 为每个原始类型提供了包装类型:
- 原始类型: boolean,char,byte,short,int,long,float,double
- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

Java基础面试题汇总

吴老师 18358417226(同微信号)    

【学校地址】慈溪市浒山金沙半岛大厦4楼(银泰城东面)——上元教育 

课程咨询:室内设计丨平面设计丨模具设计丨电商淘宝丨会计实操丨会计考证丨学历提升丨日语丨英语丨韩语

收费标准:请来电详询
上元教育集团   专注学习效果  坚持工匠精神   贴心服务 放心报名

慈溪上元教育,上元集团全国七十几家分校,遍布江浙沪皖,给你最想要的学习效果,帮您制定最专业的学习计划

 

Java基础面试题汇总

上一篇:第一章:Java概述(java基础)

下一篇:非常全面!Java的方法详解和总结,建议收藏