如果您正在寻找 Java 相关工作,则必须准备适合应届生的 Java 面试问题。虽然每次面试的情况不同,工作范围也不同,但我们可以帮助您解答 2023 年 Java 面试热门问题和答案,这将帮助您在 Java 面试中取得飞跃并取得成功。
第 1 部分 – Java 面试问题(基础)
第一部分涵盖基本的面试问题和答案。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
1. Java 中字符串缓冲区和字符串生成器的区别
答案:
这是面试官最喜欢问的问题之一;然而,却经常被考生们回答得很惨。
以下是字符串缓冲区和字符串生成器之间的一些显着差异,以便更好地理解。
2. StringBuilder 是 StringBuffer 类的非同步版本。 StringBuilder 中的方法
例如,所有重载版本的append()方法都不是同步的。
- StringBuilder 比 StringBuffer 工作得更快,因为没有获取和释放与同步方法相关的锁的开销。
- StringBuffer 被认为是线程安全的,而 StringBuilder 则不是。当需要同步时,建议使用StringBuffer类。 StringBuilder 的实例不应在多个线程之间共享。
- StringBuffer 是旧类;它从第一个版本就被纳入 JDK 中,而 StringBuilder 是一个相对较新的类。
3. Java程序查找整数数组中最突出和最小的数字
答案:
用一个简单的5点来回答这个问题
- 创建一个名为 MaximumMinimumArrayDemo.java 的 Java 源文件,并复制代码以在您最喜欢的 IDE 中编译和执行。
- 创建一个名为largest和smallest(int []数字)的方法来打印传递给程序的int数组中最突出和最小的数字。
- 使用最大和最小变量来存储数组中的最大值和最小值。最初,最大的值使用 Integer.MIN_VALUE 初始化,最小的值使用 Integer.MAX_VALUE 初始化。
- 对于循环的所有迭代,比较当前数字的最大到最小并相应地更新它们。
- 如果一个数字比最大的数字更重要,那么它就不能小于最小的数字,这意味着你不需要检查第一个条件是否准确;这就是为什么我们使用 if-else 代码块,其中 else 部分仅在第一个条件无效时才会执行。
下面给出了Java中从数组中查找最大元素的逻辑。
我们没有使用 Integer.MAX_VALUE 分配变量,而是分配了数组中的第一个元素。
3. C++ 和 Java 有什么区别?
答案:
C++和Java仅在语法比较上相似。差异如下:
- Java 是多线程的
- Java 没有指针
- Java有自动内存管理(垃圾回收)
- Java 是平台无关的
- Java 内置了对注释文档的支持
- Java 没有运算符重载
Java 不提供多重继承
第 2 部分 – Java 面试问题(高级)
现在让我们看看高级面试问题。
4.抽象类和接口有什么区别?
答案:
-
多重继承:一个抽象类只能继承一个抽象类;然而,一个类可以在接口中实现多个接口。这证明Interface支持多重继承,而Abstract类不支持。
-
实现:抽象类可以提供默认代码,因为它包含不完整和完整的成员,而接口不能提供任何代码,因为它包含不完整的成员。
-
字段:我们可以在抽象类中定义字段和约束,而接口中不能定义字段。
-
速度:与接口相比,抽象类速度更快,因为后者需要更多时间来查找其对应类的方法。
-
用法:当我们想要在父子关系中共享公共功能时,抽象类就出现了,而 Interface 用于定义和强制多态性、解耦和标准化
5. Java 中 private、protected、public 和 package 修饰符或关键字之间的区别
答案:
Java 中私有、公共、受保护、包
Java 有四种访问修饰符,分别是 private、protected、public 和包级别。
这些访问修饰符的作用是限制其所应用的类、方法或变量的可访问性。下面描述的是每个访问修饰符的功能以及它们之间的差异
Java 中的私有关键字
- Java 中的 private 修饰符可以应用于 Java 中的成员字段、方法或嵌套类。
- 不能在顶级类上使用 private 修饰符。
- 私有变量、方法和类只能在声明它们的类上访问。
- 私有化 Java API 提供的最高形式的封装,应尽可能使用。
默认情况下将变量声明为私有是 Java 中的最佳编码实践。私有方法只能从声明它的类中调用。
Java 中的包或默认访问级别
- package是Java中用于声明包的关键字;包是Java中类所属的目录。
- 包或默认访问级别是仅次于 private 的第二高限制性访问修饰符,任何声明为 package-private 的变量、方法或类只能在其所属的包上访问。
默认修饰符的好处是,如果没有类级访问修饰符,顶级类也可以是包私有的。
Java 中受保护的关键字
如果你声明一个变量 protected 意味着任何人都可以使用它,只要他们扩展你的类。顶级类也无法受到保护。
Java 中的公共关键字
public 是 Java 编程语言中限制性最小的访问修饰符,将字段、方法或类默认声明为 public 是不好的做法,因为一旦将其设为 public,就很难对其内部进行任何更改类的结构,因为它影响所有使用它的客户端。
制作类或者实例变量,public也违反了封装原则,一点都不好,而且很影响维护。
推荐文章
我们希望这份关于“Java面试题”的EDUCBA信息对您有所帮助。您可以查看EDUCBA的推荐文章了解更多信息。
- Java 开发人员面试问题
- Java多线程面试题
- J2EE面试问题
- Java String 面试题
以上是Java面试题的详细内容。更多信息请关注PHP中文网其他相关文章!