【Java 基础】3 面向对象 - this

- 第 150 篇 -
Date: 2025 - 11- 16
Author: 郑龙浩(仟墨)

文章目录

  • [【Java 基础】](#【Java 基础】)
    • [3 面向对象 - this](#3 面向对象 - this)
      • [3.1 介绍](#3.1 介绍)
      • [3.2 This 核心作用:](#3.2 This 核心作用:)
      • [3.3 示例代码 + 关键说明](#3.3 示例代码 + 关键说明)

【Java 基础】

3 面向对象 - this

3.1 介绍

this 就是一个变量,可以用在方法 中,用于拿到当前类中的对象

  • 哪个对象调用这个方法 ,这个方法中的this就指向(表示)哪个对象
  • 例如:若对象 s1调用 fun()方法,则 fun()中的 this就代表 s1对象

3.2 This 核心作用:

  • 解决成员变量与局部变量同名时的访问冲突

  • 当方法参数或局部变量与类的成员变量同名时,使用 this明确指向当前对象的成员变量,避免歧义

3.3 示例代码 + 关键说明

如下:

  • 若直接写 name = name,编译器无法区分两个 name,赋值无效。
  • this实际指向的是对象实例 (如 s1)的成员变量,而非类的抽象定义
  • 可以理解为类为模板,对象为具体实体,this用于操作当前实体的数据

Test.java 文件

java 复制代码
package zhenglonghao.constructor;

public class Test {
    public static void main(String[] args) {
        Student s1 = new Student("ZLH", 20, "男");

        // 输出信息
        System.out.println("姓名:" s1.name + ",年龄:" + s1.age + ",性别:" + s1.sex);
    }
}

Student.java 文件

java 复制代码
// ====== Student.java 文件======
package zhenglonghao.constructor;

public class Student {
    String name;
    int age;
    String sex;

    // 无参构造器
    public Student() {}

    // 有参构造器(姓名和年龄)
    public Student(String name, int age, String sex) {
        
        this.name = name; // this.name 指向当前对象的成员变量; 右侧 name 为构造器参数
        // 如果直接写name = name,编译器无法区分两个 name,赋值无效,所以这里的this.name就是表示「对象的变量name」,而不是方法中的变量「name」
        this.age = age; // 同上
  	    this.sex = sex; // 同上
    }
}
相关推荐
Ivanqhz7 分钟前
矩阵引擎的数据流模式与 BM1684X 架构
java·服务器·网络·深度学习·神经网络
小蒜学长7 分钟前
大学生健康饮食的智慧管理系统(代码+数据库+LW)
java·后端·springboot·大学生·健康饮食
计算机毕设定制辅导-无忧学长8 分钟前
《基于SpringBoot的中学教师数字胜任力测评网站的设计与实现》
java·vue.js·spring boot·mysql·中学教师数字胜任力测评网站
智慧物业老杨14 分钟前
人机协同的物业服务重构:技术落地路径与系统化思考
java·大数据·人工智能·重构·系统架构
小蒜学长15 分钟前
基于Java的论坛数据可视化分析系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·数据可视化·论坛系统
许彰午30 分钟前
52-useWebSocket自动重连
java·低代码·架构
青山木33 分钟前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
xcl092539 分钟前
上海24小时自助健身房系统软件开发实战与架构解析
java·spring boot
jerryinwuhan40 分钟前
Python快速入门(纯净版)
python
liferecords41 分钟前
第 12 讲 · Python 侧接入:火焰图定位热点与间接使用硬件加速
python·性能分析·鲲鹏·火焰图·ctypes