
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Java 内置的非对象类型,是编程语言最基础的数据单元,共 4 类 8 种,存储在栈内存,无属性、无方法,仅存储值,性能极高。数据类型分类占用字节取值范围默认值byte整型1-128 ~ 1270short整型20int整型40long整型80Lfloat浮点型4单精度浮点数0.0fdouble浮点型8双精度浮点数0.0dchar字符型2'\u0000'boolean布尔型1/4 (视 JVM)f
定义:Java 原生二元运算符,无重写可能,作用分两种场景:基本数据类型:比较变量存储的数值 / 值是否相等;引用数据类型:比较对象在堆内存的地址是否相等(是否为同一个对象)。设计思想:快速、底层的相等判断,仅做物理层面的比较,不关心业务逻辑。核心区分==比地址 / 值,equals()比逻辑内容,hashCode()服务哈希表;底层关键:equals 重写后比属性,
String 是 JDK 中final修饰的不可变类,位于java.lang包下,是 Java 中使用最频繁的引用类型;JDK1.8 底层实现:基于字符数组存储字符串内容;不可变性字符串对象一旦创建,其字符序列永远无法被修改、删除、替换,所有对字符串的操作(拼接、截取、替换)都会创建新的 String 对象。标准答案源码层面:String 类被final修饰,底层存储,无任何修改原数组的方法;设计
类名可变性线程安全父类核心定位String不可变安全Object只读字符串、常量复用可变不安全单线程字符串高效拼接可变安全多线程字符串线程安全拼接StringBuilder 和 StringBuffer 共用的父类,实现可变字符串的核心逻辑// 无final、无private修饰:数组可扩容、元素可修改// 字符串有效长度int count;// 默认容量16// 扩容机制:新容量 = 原容量*2
final是 Java 中的非访问修饰符,直译最终的、不可改变的,可用于修饰类、方法、变量三种语法元素,一旦修饰则具备不可变 / 不可修改 / 不可继承的约束。核心作用:final 修饰类(不可继承)、方法(不可重写)、变量(一次赋值);底层关键:编译期生成ACC_FINAL字节码标记,JVM 强制约束,static final 常量编译期优化;避坑铁律:final 引用≠不可变对象,成员变量必须
static是 Java 的静态修饰符将成员归属于类本身,而非某个实例对象,被 static 修饰的成员会在类加载时初始化,不依赖任何对象调用。static 可修饰4 种语法元素成员变量 →类变量(静态变量)成员方法 →静态方法(类方法)代码块 →静态代码块内部类 →静态内部类类变量(static 变量):被 static 修饰的成员变量,属于类,全类所有对象共享一份;实例变量(非 static
封装(Encapsulation)是面向对象三大特性(封装、继承、多态)的基础与核心代码层面:将对象的状态(成员变量)和行为(成员方法)绑定在一起;安全层面:使用访问控制修饰符隐藏对象的内部实现细节,禁止外部直接访问 / 修改;接口层面:对外只暴露有限、安全的公共方法,作为外部访问内部数据的唯一入口。给对象加一层「保护壳」,内部数据私有化,外部只能通过规定的入口操作。标准答案:封装是将对象的属性和
继承(Inheritance)是面向对象三大特性之一,使用extends允许一个类(子类 / 派生类)复用另一个类(父类 / 基类 / 超类)的非私有属性和方法;子类可以在父类基础上扩展新功能,或重写(Override)父类原有方法;类只能单继承,支持多层继承,接口可多实现。标准答案:继承是子类使用extends复用父类非私有成员的机制;代码复用、层级抽象、扩展功能、是多态的前提。核心本质:继承
多态(Polymorphism)同一个行为,在不同子类中表现出不同的实现形态。Java 中多态特指方法的多态(成员变量无多态),是运行期的特性。标准答案:多态是同一方法在不同子类中表现不同形态;继承、方法重写、向上转型。核心本质:多态 =动态绑定+ 方法重写 + 向上转型,只针对实例方法;转型机制:向上自动安全(丢独有方法),向下强制危险(需instanceof校验);避坑铁律:成员变量 / 静态
问题:抽象类单继承,无法扩展多个行为;行为规范用接口,模板复用用抽象类。本质:抽象类 =模板共性(is-a、单继承、有变量 / 构造器);接口 =行为规范(like-a、多实现、只有常量);底层:JDK8 + 接口支持默认 / 静态方法,抽象类是普通类的特例;避坑:接口无构造器、变量不可改,抽象类单继承;选型规范用接口,模板用抽象类,这是企业开发的铁律。







