Java的基础知识

Java 基础知识完整梳理(适合零基础到入门,2025–2026 视角)

Java 是目前企业级开发、Android、大数据后端最主流的语言之一。下面按学习顺序 + 重要程度把核心基础知识点系统整理一遍,重点突出最常考、最实用的部分。

阶段1:最基础(必须先掌握,1–2 周)

知识点核心内容(一句话记住)代码示例 / 关键点常见考点 / 陷阱
JDK / JRE / JVMJDK = 开发工具 + JRE;JRE = JVM + 类库;JVM 真正执行字节码javac 编译 → .classjava 运行JVM 是虚拟机,跨平台(一次编写,到处运行)
main 方法签名程序入口,必须是 public static void main(String[] args)为什么 static?(无需对象就能调用)
数据类型8种基本类型 + 引用类型(String、数组、对象等)byte/short/int/long/float/double/char/booleanlong 后加 L,float 加 F
变量 & 常量声明 + 初始化;final 常量final double PI = 3.14;final 修饰引用类型 → 地址不变,内容可变
运算符算术 / 关系 / 逻辑 / 位 / 赋值 / 三目&& 短路与,|| 短路或== vs equals()(基本类型 vs 对象)
流程控制if-else / switch / 三元 / for / while / do-whileswitch 支持 String、enum(Java 7+)switch 表达式(Java 14+ 预览 → Java 21 正式)
数组固定长度,new int[5]{1,2,3}增强 for 循环:for(int x : arr)数组长度 arr.length(属性,不是方法)

阶段2:面向对象核心(OOP)——Java 的灵魂(2–4 周)

知识点核心一句话关键代码示例面试最爱问的点
类 & 对象类是模板,对象是实例Person p = new Person();new 做了什么?(分配内存 + 调用构造)
构造方法与类同名,无返回值;用于初始化public Person(String name) { this.name = name; }默认无参构造、this() 调用其他构造
this / superthis → 当前对象;super → 父类引用super(name); / this.age = age;this() 必须第一行
封装private 属性 + public get/set为什么封装?(隐藏细节、控制访问)
继承extends 单继承;extends Objectclass Student extends Person子类构造先调用父类构造
方法重写@Override;返回值、参数、权限 ≥ 父类不能降低访问权限
多态父引用指向子对象;编译看左,运行看右Person p = new Student(); p.eat(); → 调用 Student 的 eat()成员变量看左边,方法看右边
接口interface(Java 8+ default/static 方法)default void say() { … }多实现;JDK 9+ private 方法
抽象类abstract class / 方法;不能 new抽象类 vs 接口(2025 更倾向接口 + 默认方法)

阶段3:常用基础类 & 特性(实用性最强)

类别核心类 / 知识点常用方法 / 特点面试高频考点
String不可变、常量池intern()+(编译优化为 StringBuilder)StringBuilder vs StringBuffer(线程安全)
包装类Integer、Double 等自动装箱/拆箱;缓存(-128 ~ 127)Integer a=100; b=100; a==b → true
== vs equals== 比较地址;equals 比较内容String、Integer 重写了 equals自定义对象要重写 equals + hashCode
异常处理Throwable → Error / Exceptiontry-catch-finally / throws / throwfinally 一定执行(return 前也执行)
集合框架入门Collection → List/Set/QueueArrayList(数组)、LinkedList(链表)、HashSet(无序)、TreeSet(有序)ArrayList vs LinkedList 增删查场景
MapHashMap / TreeMap / LinkedHashMapputgetkeySetentrySetHashMap 1.8+ 红黑树 + 链表
泛型<T> 编译期类型安全List<String>泛型擦除(运行时 List → List)

阶段4:Java 现代特性(Java 8–21 必知,2025 企业主流)

  • Lambda + Stream(Java 8+):函数式编程神器
  list.stream()
      .filter(n -> n > 10)
      .map(n -> n * 2)
      .collect(Collectors.toList());
  • Optional:优雅处理 null
  Optional.ofNullable(user).map(User::getName).orElse("未知");
  • 记录类 record(Java 16+):不可变数据载体
  record Point(int x, int y) {}
  • 密封类 sealed(Java 17+):限制继承
  • switch 表达式(Java 14+ → 21 正式)
  • 文本块(Java 15+):多行字符串
  String html = """
                <html>
                  <body>Hello</body>
                </html>
                """;

学习建议(2026 年视角)

  1. 先把 阶段1 + 阶段2 打牢(OOP 是核心)
  2. 每天写 50–100 行代码(LeetCode Easy + 自己小项目)
  3. 强烈推荐顺序:
  • 语法 → OOP → String/集合 → 异常 → Lambda/Stream → 泛型
  1. 工具:IntelliJ IDEA Community(免费) + JDK 21 / 23(LTS 用 21)
  2. 资源(2025–2026 推荐):
  • 《Head First Java》(入门最友好)
  • 《Effective Java》(第3/4版,进阶必看)
  • Oracle 官方教程 + Java 新特性文档

如果你现在能独立写出下面这段代码,说明基础已经过关:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String introduce() {
        return "我是" + name + ",今年" + age + "岁";
    }

    public static void main(String[] args) {
        Person p = new Person("重阳", 25);
        System.out.println(p.introduce());
    }
}

想重点深入哪一块?

  • OOP 多态/继承细节
  • 集合框架底层(ArrayList/HashMap 实现)
  • Java 8 Lambda + Stream 实战
  • 异常处理最佳实践
  • 现代 Java 特性(record、sealed、pattern matching)

直接告诉我,我继续给你展开~

文章已创建 4298

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部