以下是一些Java后端面试题:
一、基础部分
Java中的基本数据类型有哪些?它们的默认值是什么?
- 答案:
- 基本数据类型有8种。
- 整数类型:
byte
(默认值为0)、short
(默认值为0)、int
(默认值为0)、long
(默认值为0L)。 - 浮点类型:
float
(默认值为0.0f)、double
(默认值为0.0d)。 - 字符类型:
char
(默认值为’\u0000’,即空字符)。 - 布尔类型:
boolean
(默认值为false
)。
- 整数类型:
- 基本数据类型有8种。
- 答案:
什么是Java中的封装、继承和多态?
- 答案:
- 封装:
- 是将对象的属性和行为(方法)包装在一起,对外部隐藏对象的内部实现细节。例如,通过将类的属性设为私有(
private
),并提供公共的访问器(getter
)和修改器(setter
)方法来控制对属性的访问。
- 是将对象的属性和行为(方法)包装在一起,对外部隐藏对象的内部实现细节。例如,通过将类的属性设为私有(
- 继承:
- 是一种创建新类(子类)的机制,子类继承父类的属性和方法。子类可以扩展或修改父类的行为。例如,
class Dog extends Animal
,Dog
类继承了Animal
类的特性。
- 是一种创建新类(子类)的机制,子类继承父类的属性和方法。子类可以扩展或修改父类的行为。例如,
- 多态:
- 允许不同类的对象对同一消息做出响应。即同一个方法调用在不同的对象上有不同的行为。多态可以通过继承和接口实现,例如,一个
Animal
类型的引用可以指向Dog
或Cat
对象,并且调用相同的方法(如makeSound
)会根据对象的实际类型执行不同的实现。
- 允许不同类的对象对同一消息做出响应。即同一个方法调用在不同的对象上有不同的行为。多态可以通过继承和接口实现,例如,一个
- 封装:
- 答案:
Java中的异常处理机制是怎样的?
- 答案:
- Java使用
try - catch - finally
语句块来处理异常。 try
块包含可能抛出异常的代码。catch
块用于捕获和处理特定类型的异常。可以有多个catch
块来处理不同类型的异常。finally
块包含的代码无论是否发生异常都会执行,通常用于释放资源(如关闭文件流等)。- Java中的异常分为受检异常(
Checked Exception
)和非受检异常(Unchecked Exception
)。受检异常必须在方法签名中声明或者在try - catch
块中处理,非受检异常(如RuntimeException
及其子类)不需要强制处理。
- Java使用
- 答案:
二、面向对象部分
什么是Java中的接口?接口和抽象类有什么区别?
- 答案:
- 接口:
- 是一种完全抽象的类,它只包含抽象方法(Java 8开始可以有默认方法和静态方法)和常量(
public static final
)。接口用于定义对象的行为规范,一个类可以实现多个接口。
- 是一种完全抽象的类,它只包含抽象方法(Java 8开始可以有默认方法和静态方法)和常量(
- 抽象类:
- 是一种特殊的类,它可以包含抽象方法和非抽象方法。抽象类不能被实例化,只能被继承。一个类只能继承一个抽象类。
- 区别:
- 一个类可以实现多个接口,但只
- 接口:
- 答案: