Java基础教程(010):面向对象中的this和就近原则
9、面向对象-就近原则和this关键字
在 Java 中,就近原则
和this
关键字**是理解变量访问、赋值和对象引用的核心概念。下面我将详细解释它们的含义、用法和关系。
✅ 一、就近原则
当局部变量(方法中的变量)与成员变量(类中的属性)同名时,优先访问“离得近”的那个变量,也就是 就近原则。
🔍示例:
public class Student {String name = "默认名";public void setName(String name) {// 这里的 name 优先指的是方法参数System.out.println("参数 name = " + name);System.out.println("成员变量 name = " + this.name);}
}
📌 解释:
name
:是方法参数。this.name
:明确表示当前对象的成员变量。- 如果你直接写
name = "张三"
,其实是给参数name
赋值,不会修改对象的属性。
💻运行结果:
✅ 二、this
关键字
this
表示当前对象的引用,用来访问类的成员变量、方法或构造方法。
✨ 常见用法:
用法 | 示例/作用 |
---|---|
访问当前对象的成员变量 | this.name |
调用当前对象的方法 | this.printInfo() |
在构造方法中调用另一个构造方法 | this(...) (必须是构造方法第一行) |
解决成员变量与参数同名冲突 | this.name = name; |
🔧 示例:用 this
正确设置成员变量
public class Student {private String name;private int age;// 构造方法public Student(String name, int age) {this.name = name; // 用this解决同名冲突this.age = age;}public void printInfo() {System.out.println("姓名:" + this.name);System.out.println("年龄:" + this.age);}
}
✅ 调用:
public class Main {public static void main(String[] args) {Student stu = new Student("王五", 18);stu.printInfo();}
}