在线客服
扫描二维码
下载博学谷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程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?
9272
2019-04-12 17:27:11
Java基础 ArrayList,Vector, LinkedList 的存储性能和特性是什么?
这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述 能力。如果你明白,但表述不清楚,在别人那里则等同于不明白。
13863
2019-06-03 11:18:58
Kotlin与Java相比的优缺点有哪些?
Kotlin语言被谷歌公开作为Android官方开发语言之后,就有传言,kotlin会取代Java。然而即使到了现在还是有很多人并不了解kotlin是什么。所以今天小编给大家科普一下关于kotlin的一些问题。
16300
2019-08-09 18:03:46
TLAB线程本地分配缓存区是什么?TLAB工作原理分析
TLAB线程本地分配缓存区是什么?工作原理分析,TLAB全称Thread Local Allocation Buffer,即线程本地分配缓存区,是一个线程专用的内存分配区域。在线程初始化时,虚拟机会为每个线程分配一块TLAB空间,只给当前线程使用。
10563
2020-03-17 15:26:25
Java互联网架构师就业前景怎么样?待遇好不好?
Java互联网架构师就业前景怎么样?有专业认识分析目前高端人才缺口大行业竞争压力小,2021年互联网TOP20职位,架构师薪资遥遥领先,但竞争指数榜内最低。做到了Java架构师你的薪资就不用愁了,并且java架构师的发展前景非常好。
5492
2022-09-16 15:31:44
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
