在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
为了帮助大家可以更好地做好面试前的准备,本文为大家整理了Java基础面试题和答案。这些问题都是比较经典的面试题,大家可以先不看答案做一做,查漏补缺。
1、Java 有哪些特点?
答案:并发性,你可以在其中执行许多语句,而不必一次执行它;面向对象,基于类和面向对象的编程语言;独立性,支持一次编写,到处运行的独立编程语言,即编译后的代码可以在支持Java的所有平台上运行。
2、值传递和引用传递的区别是什么?
答案:值传递 是指在调用函数时将实际参数复制一份到函数中,这样的话如果函数对其传递过来的形式参数进行修改,将不会影响到实际参数。引用传递 是指在调用函数时将对象的地址直接传递到函数中,如果在对形式参数进行修改,将影响到实际参数的值。
3、描述一下==和equals的区别。
答案:== 是Java中一种操作符,它有两种比较方式。一是对于基本数据类型来说,==判断的是两边的值是否相等。另一个是对于引用类型来说,==判断的是两边的引用是否相等,也就是判断两个对象是否指向了同一块内存区域。equals是Java中所有对象的父类,即 Object 类定义的一个方法。它只能比较对象,它表示的是引用双方的值是否相等。所以记住,并不是说==比较的就是引用是否相等,equals比较的就是值,这需要区分来说的。
4、String中的equals是如何重写的?
答案:String代表的是Java开发中的字符串,String类比较特殊,它整个类都是被final修饰的,也就是说,String不能被任何类继承,任何 修改String字符串的方法都是创建了一个新的字符串。equals方法是Object类定义的方法,Object是所有类的父类,当然也包括String,String重写了equals方法,下面我们来看看是怎么重写的:
首先会判断要比较的两个字符串它们的引用是否相等。如果引用相等的话,直接返回 true ,不相等的话继续下面的判断。然后再判断被比较的对象是否是 String 的实例,如果不是的话直接返回 false,如果是的话,再比较两个字符串的长度是否相等,如果长度不想等的话也就没有比较的必要了;长度如果相同,会比较字符串中的每个 字符 是否相等,一旦有一个字符不相等,就会直接返回 false。
5、为什么重写equals方法必须重写hashcode方法?
答案:如果在 Java 运行期间对同一个对象调用 hashCode 方法后,无论调用多少次,都应该返回相同的 hashCode,但是在不同的 Java 程序中,执行 hashCode 方法返回的值可能不一致。如果两个对象的 equals 相等,那么 hashCode 必须相同。如果两个对象 equals 不相等,那么 hashCode 也有可能相同,所以需要重写 hashCode 方法,因为你不知道 hashCode 的底层构造(反正我是不知道,有大牛可以传授传授),所以你需要重写 hashCode 方法,来为不同的对象生成不同的 hashCode 值,这样能够提高不同对象的访问速度。hashCode 通常是将地址转换为整数来实现的。
6、static关键字有什么用?
答案:static是Java中非常重要的关键字,static表示的概念是静态的,在Java中,static 主要用来修饰变量,static修饰的变量能够直接通过类名变量名来进行访问,不用通过实例化类再进行使用。static 可以修饰代码块,主要分为两种,一种直接定义在类中,使用 static{},这种被称为静态代码块,一种是在类中定义静态内部类,使用 static class xxx 来进行定义。
7、抽象类和接口的不同点是什么?
答案:抽象级别不同:类、抽象类、接口其实是三种不同的抽象级别,抽象程度依次是 接口 > 抽象类 > 类。在接口中,只允许进行方法的定义,不允许有方法的实现,抽象类中可以进行方法的定义和实现;而类中只允许进行方法的实现,我说的方法的定义是不允许在方法后面出现 {};使用的关键字不同:类使用 class 来表示;抽象类使用 abstract class 来表示;接口使用 interface 来表示;变量:接口中定义的变量只能是公共的静态常量,抽象类中的变量是普通变量。
以上就是Java基础面试题和答案的全部整理,大家都梳理了一遍了吗?如果还有什么问题,可以在反复研究一下该问题的参考答案。希望大家在面试前都能做足准备,拿到满意的offer!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java开发实用的面试题及参考答案
Java开发实用的面试题及参考答案分享,java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?
7999
2019-04-12 17:27:11
Java基础 Jvm性能如何调优?调优的方法有哪些?
Java基础 Jvm性能如何调优?调优的方法有哪些?观察内存释放情况、集合类检查、对象树;可查看堆空间大小分配(年轻代、年老代、持久代分配)提供即时的垃圾回收功能、垃圾监控(长时间监控回收情况)查看堆内类、对象信息查看:数量、类型等,对象引用情况查看。
7152
2019-06-03 15:29:42
Java基础学习:面向过程与面向对象
刚开始学编程的时候都会遇到一个思维转变的过程,从原来人类思维模式转变成机器可以接受的思维模式。这个过程是非常难的,这也是为什么互联网人才能够获得高薪的原因。对于Java学习,面向过程可能更接近人的正常思维,而面向对象思维就是一个巨大的挑战了。本文就和大家聊一聊关于面向过程和面向对象的优劣。
7039
2019-06-24 18:35:01
Java程序员Spring框架面试题汇总附答案
Spring框架对于服务器端的开发大有帮助,无论从简单性、可测试性和松耦合性角度来说,Java应用都可以从Spring中受益。本文整理汇总了Java程序员在面试中关于Spring框架的面试题,涉及大量Spring框架知识点,不会做的话还可以参考答案,有面试需求的朋友赶紧来刷题吧!
5761
2019-11-21 15:51:56
2019蚂蚁金服Java开发面试题含答案
一般来讲,蚂蚁金服这样的大公司都会有至少三次的技术面试。前一轮的问题一般都是比较基础的问题,当然对于许多人来讲,基础性的问题也不一定简单。本文就专门针对Java开发的面试者,整理出了最新的蚂蚁金服一面题,并附上了参考答案,希望可以帮到即将要到蚂蚁金服面试的求职者。如果近期没有面试需求的朋友,也可以查漏补缺,看看自己的学习有哪些欠缺的地方。
6008
2019-12-02 19:29:44
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
