- 第 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; // 同上
}
}