Java SE 零基础入门 Day05 类与对象核心详解(封装+构造方法+内存+变量)

本文涵盖Java面向对象核心:类和对象、内存原理、成员/局部变量、封装、权限修饰符、构造方法、this关键字,搭配趣味讲解+行业拓展知识,Java新手必学的OOP入门核心!

摘要

本篇为Java SE入门第五天核心笔记,正式进入面向对象编程(OOP) 核心阶段,用最通俗的语言讲解类与对象的关系、内存机制、变量区别、封装特性和构造方法,结合趣味梗、代码实战和IT行业干货,让零基础小白轻松攻克Java最重要的知识点,为后续框架学习打下坚实基础。

一、高效学习法则(必看!)

  1. 记忆核心原理 :对大脑皮层进行一次又一次的重复刺激,遵循学习周期曲线,每隔几天就复习一遍知识点,才能真正牢记;
  2. 拒绝速成:编程学习没有捷径,周期性复盘、反复敲代码,是掌握技术的唯一路径。

二、面向对象核心:类和对象(OOP入门)

1. 灵魂提问:学Java还没对象?new一个!

这是Java最经典的趣味梗:

别人问你:学Java的,怎么没对象

你直接回:我new一个就完了!

对象 :真实存在的具体事物(比如女朋友、手机、电脑、学生);
:对象的图纸/模板,描述一类事物的属性(特征)和行为(功能)。

2. 核心思想

  1. 面向对象大大降低了程序员的开发门槛,不用关注底层实现,直接调用对象完成功能;
  2. 基于类(图纸) ,我们可以无限创建对象(实例),就像根据图纸生产产品一样简单。

3. 类的定义格式(Java代码)

类 = 属性(成员变量)+ 行为(成员方法)

java 复制代码
// 类:学生模板
public class Student {
    // 1. 属性:成员变量
    String name; // 姓名
    int age;     // 年龄

    // 2. 行为:成员方法
    public void study() {
        System.out.println("学生在学习");
    }
}

4. 对象的创建与使用(关键字:new)

java 复制代码
public class Test {
    public static void main(String[] args) {
        // 核心:new 类名() → 创建对象
        Student stu = new Student();
        
        // 使用对象的属性
        stu.name = "张三";
        stu.age = 20;
        
        // 使用对象的行为
        stu.study();
    }
}

三、对象内存图(核心原理)

Java 内存分为 栈内存堆内存,对象的存储遵循固定规则:

  1. 栈内存 :存储对象名 (引用变量),保存堆内存的地址值
  2. 堆内存 :存储对象的真实数据 (成员变量),new 出来的东西都在堆里;
  3. 方法执行:栈内存 先进后出,对象通过地址值找到堆内存的数据。

简化记忆

  • 对象名(栈)= 遥控器
  • 对象数据(堆)= 电视机
  • 遥控器通过信号(地址)控制电视机

四、成员变量 vs 局部变量(高频面试题)

对比项 成员变量 局部变量
定义位置 类中、方法外 方法内、方法参数、代码块中
内存位置 堆内存 栈内存
初始化值 有默认初始值(int=0,String=null) 无默认值,必须手动赋值才能使用
作用域 整个类中有效 当前方法/代码块内有效
生命周期 随对象创建而创建,对象销毁而销毁 随方法调用创建,方法结束销毁

代码示例

java 复制代码
public class VariableDemo {
    // 成员变量
    String name = "Java";

    public void test() {
        // 局部变量(必须赋值)
        int num = 10;
        System.out.println(num);
    }
}

五、封装(面向对象三大特征之一)

1. 什么是封装?

把对象的属性私有化,对外提供公共的访问方法,隐藏实现细节,保护数据安全

2. 四大权限修饰符(范围从小到大)

Java 用于控制访问权限的关键字,封装核心

  1. private(私有):仅当前类中可访问(最常用,封装属性);
  2. default(默认,不写关键字):同一个包下可访问;
  3. protected(受保护):同一个包 + 子类可访问;
  4. public(公共):任意位置可访问。

开发规范 :成员变量必须用 private 私有化,提供 get/set 方法访问。

3. 就近原则

局部变量和成员变量同名 时,方法优先使用局部变量(谁近用谁)。


六、构造方法(对象创建的核心)

1. 定义

构造方法是专门用来创建对象的方法,创建对象时自动调用,无需手动调用。

2. 格式

java 复制代码
修饰符 类名(参数列表) {
    // 初始化对象属性
}

3. 核心规则(必背!)

  1. 默认构造方法 :如果一个类没有写任何构造方法,编译器自动赠送一个无参构造方法
  2. 有参构造覆盖规则 :如果手动写了有参构造方法 ,编译器不再提供无参构造
  3. 开发建议:无论是否使用,手动写无参 + 有参构造方法

4. this 关键字(解决就近原则)

  • this.成员变量:调用当前对象的成员变量;
  • this():调用本类的其他构造方法。

代码示例(标准Java类:JavaBean)

java 复制代码
public class GirlFriend {
    // 私有化成员变量
    private String name;
    private int age;

    // 无参构造
    public GirlFriend() {}

    // 有参构造
    public GirlFriend(String name, int age) {
        // this解决同名冲突
        this.name = name;
        this.age = age;
    }

    // get/set方法
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

七、IT行业拓展干货(职场必知)

1. 雷军经典创业案例

  1. 米聊:微信的前身,国内最早的移动社交软件,因各种原因被微信反超;
  2. 卓越网:早期电商平台,被亚马逊收购,资金为 WPS 提供了续命支持。

2. 国产科技与信创产业(国家战略)

  1. 核心企业:中国电子、海康威视、中国电科、阿里达摩院;
  2. 国产数据库:达摩数据库等自主研发产品;
  3. 信创化 :信息技术应用创新,覆盖军队、央企、学校、企业,全面实现国产替代,是未来计算机行业的核心风口。

八、Day05 核心总结

  1. 类和对象 :类是模板,对象是实例,new 关键字创建对象;
  2. 内存:对象名在栈,对象数据在堆,通过地址关联;
  3. 变量:成员变量有默认值,局部变量必须赋值;
  4. 封装private 私有化属性 + get/set 方法,保护数据;
  5. 构造方法:创建对象自动调用,手写有参则无默认无参;
  6. this:解决变量同名冲突,调用本类构造;
  7. 学习 :周期性重复刺激大脑,巩固知识点,技术+行业视野双提升!
相关推荐
~央千澈~1 小时前
《2026鸿蒙NEXT纯血开发与AI辅助》第五章:选择成熟方案,创建第一个鸿蒙应用并成功运行-卓伊凡
人工智能·华为·harmonyos·harmony·harmony os
逻辑驱动的ken1 小时前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
qq_189807031 小时前
Less如何处理CSS长文本换行_封装Mixin解决不同场景需求
jvm·数据库·python
ting94520001 小时前
Kimi-VL-A3B-Thinking 技术全解
人工智能·架构
Mr数据杨1 小时前
少样本规则推理模型与未知任务自适应应用
机器学习·数据分析·kaggle
小灰灰搞电子2 小时前
Python self关键字详解及其应用
开发语言·python
monkeyhlj2 小时前
AI Agent开发课程笔记记录 - 提升篇 About RAG
人工智能·笔记
故事还在继续吗2 小时前
C++17关键特性
开发语言·c++·算法