一、基本类型 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 对同包和子类可见。