← 前一天目录后一天 →

每日科普 · 2026-09-10 周四

考研 408 × 求职面试

知识点 · Java · 基础

面向对象的三大特性及其体现

面向对象的三大特性是封装、继承、多态。 1. 封装:把数据和对数据的操作包装在类中,用 private 隐藏字段,对外只提供 getter/setter 等必要方法,隐藏实现细节、保证数据安全。 2. 继承:用 extends 让子类复用父类的字段和方法,体现 is-a 关系,减少重复代码;Java 只支持单继承,但可通过接口多实现。 3. 多态:同一方法调用在不同对象上表现出不同行为。前提是继承(或接口实现)、方法重写、父类引用指向子类对象,方法在运行时动态绑定。 三者关系:封装是基础,继承是复用手段,多态是灵活性的核心,它们共同让程序更易维护和扩展。

每日一题 · Java

String、StringBuilder 与 StringBuffer 的区别

下列关于 String、StringBuilder、StringBuffer 的说法,正确的是? A. String 是可变字符序列,拼接时不产生新对象 B. StringBuilder 线程安全,StringBuffer 线程不安全 C. StringBuffer 的方法多被 synchronized 修饰,线程安全,效率略低于 StringBuilder D. 三者都能直接修改自身内容

解析

答案:C。思路:String 底层是 final 字符数组,内容不可变,每次拼接都会新建对象;StringBuilder 未加锁,线程不安全但单线程最快;StringBuffer 方法加 synchronized,线程安全但有一定性能开销。A 错在 String 不可变,B 把两者说反,D 错在 String 不可改。结论:单线程拼接用 StringBuilder,多线程共享用 StringBuffer。

面试小贴士 · Java

String、StringBuilder 与 StringBuffer 的区别

面试时先点明 String 不可变,再给结论:单线程拼接用 StringBuilder,多线程共享用 StringBuffer,最后提到底层 char[](JDK9+ 为 byte[]),层次清晰易加分。
← 前一天目录后一天 →