Java夯实基础必背手册:面向对象初阶核心知识点汇总

安排上了 📘
下面这份是**“必背级别 + 面试/实战双用”的 Java 面向对象(OOP)初阶核心手册,帮你把地基一次性夯实**。


Java 夯实基础必背手册

面向对象(OOP)初阶核心知识点汇总

一句话定位
看完这篇,你至少能写对代码、看懂设计、扛住初级/中级面试


一、面向对象三大特性(必须背)

1️⃣ 封装(Encapsulation)

定义

将数据和操作数据的方法绑定在一起,对外隐藏实现细节

public class User {
    private String name;

    public String getName() {
        return name;
    }
}

核心点

  • 成员变量 private
  • 通过方法暴露行为
  • 防止非法状态

📌 面试一句话:

封装是通过访问控制,保证对象状态的安全性和一致性


2️⃣ 继承(Inheritance)

class Animal {
    void eat() {}
}

class Dog extends Animal {
    void bark() {}
}

核心规则

  • Java 单继承
  • is-a 关系
  • 子类拥有父类 非 private 成员

❗ 不要为了复用而继承

📌 面试一句话:

继承用于表达“是一个”的关系,增强代码复用和多态能力


3️⃣ 多态(Polymorphism)⭐ 重中之重

Animal a = new Dog();
a.eat();

多态成立条件

  1. 有继承关系
  2. 方法重写
  3. 父类引用指向子类对象

关键结论

  • 编译看左边,运行看右边
  • 成员变量 ❌ 不具备多态
  • 方法调用 ✅ 动态绑定

二、类与对象基础(100% 会考)

1️⃣ 类 vs 对象

概念含义
抽象模板
对象具体实例
Car car = new Car();

2️⃣ 构造方法(Constructor)

public User(String name) {
    this.name = name;
}

必背规则

  • 方法名 = 类名
  • 无返回值
  • 默认构造会在没有定义任何构造器时自动生成

3️⃣ this 关键字

this.name = name;

作用:

  • 区分成员变量和局部变量
  • 调用当前类构造器

三、访问控制符(必背表)

修饰符当前类同包子类其他包
public
protected
default
private

📌 高频考点:

  • protected 是包 + 子类

四、方法重写(Override)易错点

@Override
public void eat() {}

重写规则(必背)

  • 方法名相同
  • 参数列表相同
  • 返回值类型 <= 父类
  • 访问权限 不能更严格
  • 不能重写 private / final / static

📌 面试雷点:

static 是“隐藏”,不是重写


五、抽象类 vs 接口(初阶必会)

抽象类(abstract)

abstract class Animal {
    abstract void eat();
}

特点:

  • 可有成员变量
  • 可有构造方法
  • 单继承

接口(interface)

interface Flyable {
    void fly();
}

特点:

  • 默认 public static final 常量
  • 方法默认 public abstract
  • 支持多实现

对比总结

维度抽象类接口
继承数量
成员变量可以常量
构造器
设计定位is-a能力

六、Object 类(所有类的祖宗)

必背方法

toString()
equals()
hashCode()
getClass()

equals vs ==

对比==equals
基本类型
引用类型地址内容(可重写)

📌 面试必杀句:

equals 和 hashCode 必须同时重写


七、final 关键字(三种用法)

final class A {}
final void method() {}
final int x = 10;

作用:

  • 类:不可继承
  • 方法:不可重写
  • 变量:不可修改

八、组合优于继承(设计意识)

❌ 错误示例:

class Car extends Engine {}

✅ 正确示例:

class Car {
    private Engine engine;
}

📌 原则:

能组合就不要继承


九、初学者必踩 5 大坑

1️⃣ 成员变量未初始化就使用
2️⃣ 忘记重写 equals / hashCode
3️⃣ 误以为成员变量有多态
4️⃣ 滥用继承
5️⃣ 构造方法当普通方法用


十、终极速记口诀(建议背)

封装藏细节,继承表关系
多态靠重写,运行看右边
接口表能力,组合赢一切


下一步你可以继续夯实 👇

我可以直接给你:

  • 📕 面向对象进阶:设计原则(SOLID)
  • 🔥 Java 面试必问 OOP 20 题
  • 🧠 结合 Spring 的 OOP 落地理解
  • 📝 一页纸 OOP 思维导图(背诵版)

你想往 面试 / 实战 / 进阶设计 哪个方向继续?

文章已创建 4050

发表回复

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

相关文章

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

返回顶部