Bootstrap

Java基础知识点总结:数据类型、方法重载重写、访问控制、静态关键字、字符串类与集合框架

Java基础知识点总结:数据类型、方法重载重写、访问控制、静态关键字、字符串类与集合框架


1、数据类型

1.1 基本数据类型

整数类型
  • byte:1字节(8位),范围:-128 ~ 127
  • short:2字节(16位),范围:-32768 ~ 32767
  • int:4字节(32位),默认整数类型
  • long:8字节(64位),声明时需加L后缀(如long num = 100L;
浮点类型
  • float:4字节(32位),单精度,声明需加F后缀(如float num = 3.14F;
  • double:8字节(64位),双精度,默认浮点类型
字符与布尔类型
  • char:2字节(16位),存储Unicode字符(如char c = 'A';
  • boolean:仅truefalse,JVM实现通常占1位

1.2 引用数据类型

  • 类(Class):自定义类型(如String、自定义对象)
  • 接口(Interface):定义方法规范
  • 数组(Array):固定长度的同类型集合(如int[] arr = new int[5];

2、访问控制修饰符

修饰符访问范围典型用途
private仅当前类内部可见封装属性、隐藏实现细节
default同一包内可见包内共享的工具方法或属性
protected同一包内或不同包的子类可见(需通过继承)子类继承或扩展父类功能
public全局可见对外暴露的API方法或常量

3、static关键字的四大应用场景

3.1 静态变量

  • 特点:类级别共享,所有实例共用同一内存
  • 示例static int count = 0;

3.2 静态方法

  • 特点:无需实例即可调用(如Math.random()),不可访问非静态成员
  • 示例public static void print() { ... }

3.3 静态代码块

  • 执行时机:类加载时执行一次
  • 用途:初始化静态资源
static {
    // 初始化静态变量
}

3.4 静态内部类

  • 特点:不依赖外部类实例,可独立存在
  • 示例
class Outer {
    static class Inner { ... }
}

4、字符串三兄弟对比

类型可变性线程安全性能特点适用场景
String频繁操作产生大量新对象不频繁修改的字符串
StringBuilder单线程下高效(非同步)单线程字符串拼接
StringBuffer多线程安全(同步锁)多线程环境下的字符串操作

5、集合框架核心解析

5.1 List接口(有序、可重复、索引访问)

实现类数据结构线程安全性能特点
ArrayList动态数组查询快(O(1)),增删慢
LinkedList双向链表增删快(O(1)),查询慢
Vector动态数组✅(同步)线程安全但性能较低

5.2 Set接口(无序、唯一)

实现类数据结构排序规则允许null
HashSet哈希表无顺序
LinkedHashSet链表+哈希表插入顺序
TreeSet红黑树自然/比较器排序

5.3 Map接口(键值对)

实现类数据结构线程安全键特性
HashMap数组+链表/红黑树允许一个null键
LinkedHashMap链表+哈希表保留插入/访问顺序
TreeMap红黑树键按自然/比较器排序
Hashtable哈希表✅(同步)不允许null键/值

6、重载(Overload)与重写(Override)对比

特性重载重写
作用域同一类中父子类之间
参数列表必须不同(类型/数量/顺序)必须完全相同
返回类型可自由变化必须相同或为子类(协变返回)
访问权限无限制子类方法不能更严格
异常声明无限制子类不能声明更宽泛的异常

7、Switch穿透现象

  • 原理case分支未写break时,会继续执行后续分支代码
  • 示例
switch (num) {
    case 1: 
        System.out.println("1");
        // 无break,穿透到case2
    case 2: 
        System.out.println("2");
        break;
}
// 输入1时输出:"1" "2"

也是到了必须赶紧补博客的时候了deepseek好好用啊把我写的丑丑的word变得清晰多了

;