经典Java面试题解析

需积分: 9 2 下载量 153 浏览量 更新于2024-07-17 收藏 338KB DOCX 举报
"这篇文档是'经典Java面试题收集(一)',由简书作者阿喵酱在2018年发布,包含了Java面试中的一些常见问题,旨在帮助求职者准备面试。" 在Java面试中,理解面向对象的特征至关重要。面向对象编程(OOP)的四大特征包括: 1. **抽象**:抽象是将现实世界中的对象抽象为类的过程,它允许我们定义对象的通用属性和行为,使得代码可复用且更具模块化。 2. **继承**:继承是子类继承父类的特性,使得子类可以拥有父类的所有非私有属性和方法,同时也能够扩展自己的特性,实现代码的重用。 3. **封装**:封装是将数据和操作数据的方法捆绑在一起,形成一个独立的实体(类)。这样可以保护数据不被外部直接访问,增强了代码的安全性和维护性。 4. **多态性**:多态是指不同的对象可以对同一消息(方法调用)做出不同的响应。在Java中,多态主要通过接口和继承实现,它可以提高代码的灵活性和可扩展性。 访问修饰符在Java中扮演着控制类成员访问权限的角色: - **public**:公共访问,任何类都可以访问。 - **private**:私有访问,仅限于本类内部访问。 - **protected**:受保护访问,允许本类、同包内的类以及异包子类访问。 - **默认(无修饰符)**:默认访问,允许本类和同包内的类访问。 Java的**基本数据类型**不包括`String`,它是一个对象,属于引用类型。Java的8个基本数据类型是:`byte`、`short`、`int`、`long`、`float`、`double`、`char`和`boolean`。在将数值赋给浮点型变量时,例如`float f = 3.4;`是错误的,因为3.4默认是`double`类型,需要显式转换如`float f = (float)3.4;`或`float f = 3.4F;`。 关于`short`类型的变量,`short s1 = 1; s1 = s1 + 1;`是错误的,因为`s1 + 1`的结果是`int`类型,需要强制转换回`short`。而`short s1 = 1; s1 += 1;`则可以正确编译,因为Java会自动处理这种类型转换。 最后,Java中并没有`goto`关键字,尽管它是Java的保留字,但目前并未使用。这与C/C++等语言不同,它们支持`goto`用于无条件跳转,但在Java中,通常使用结构化的控制流语句(如`break`、`continue`和`return`)来替代`goto`的用途,以保持代码的清晰性和可读性。