Java 面试题:基础语法(==/equals/重载重写/static/final)

一、基本类型 vs 包装类

8 种基本类型(byte/short/int/long/float/double/char/boolean)存值;包装类(Integer…)是对象。自动装箱/拆箱方便,但 Integer 缓存 -128~127,超出区间 new Integer 或 valueOf 区间外用 == 比较会 false,必须用 equals。

二、== 与 equals

比较 含义
== 基本类型比值;引用类型比地址
equals 默认比地址,重写后比内容(如 String)

三、重载 vs 重写

  • 重载:同方法名、参数列表不同,编译期绑定;
  • 重写:子类覆盖父类方法,方法签名一致,运行期多态;访问修饰符不能更严、异常不能更宽。

四、static 与 final

  • static:类级别,静态方法不能访问实例成员,静态块用于初始化;
  • final:类不可继承、方法不可重写、变量引用不可变(对象内部可变)。

访问修饰符范围:private < 默认 < protected < public。protected 对同包和子类可见。