当前位置: 首页 > news >正文

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 赋值,不会修改对象的属性

💻运行结果:

image-20250721221537474

✅ 二、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();}
}
http://www.lryc.cn/news/595122.html

相关文章:

  • 算法训练营DAY37 第九章 动态规划 part05
  • 两个相机的视野 拼接算法
  • 【C++】stack和queue拓展学习
  • DevCon 6记录
  • 从 “能用“ 到 “好用“:中小制造企业数字化转型中的 IT 系统优化管理策略
  • 扬声器测试解决方案
  • AWS Certified Cloud Practitioner 认证考试总结
  • Centos安装最新docker以及ubuntu安装docker
  • 旋转目标检测(Rotated Object Detection)技术概述
  • ESP32-S3学习笔记<1>:ESP-IDF的安装与命令
  • 【编程语言】C、C++、C#深度对比:三种语言的演进历程与应用场景
  • Windows VS2019 编译 Apache Thrift 0.15.0
  • 倒排索引实操
  • CS231n-2017 Lecture4神经网络笔记
  • selenium爬取图书信息
  • 通信刚需小能手,devicenet转PROFINET网关兼容物流分拣自动化
  • 从cv610的demo原理看,i2c的上拉电阻为 1k
  • day27 力扣332.重新安排行程 力扣51. N皇后 力扣37. 解数独 力扣455.分发饼干 力扣376. 摆动序列 力扣53. 最大子序和
  • 【设计模式C#】工厂方法模式(相比简单工厂模式更加具有灵活性和扩展性的工厂模式)
  • 力扣15:三数之和
  • 测量误差溯源:系统误差与随机误差的数学建模与分离方法
  • 结构型模式-架构解耦与扩展实践
  • 清理磁盘空间
  • Windows容器网络的带宽限制QoS策略配置
  • CPO光模块能取代传统光模块吗?
  • 量子算法可视化工具:撕裂量子黑箱的破壁者
  • 量子生成对抗网络:量子计算与生成模型的融合革命
  • 云原生安全工具:数字基础设施的免疫长城
  • 苹果Find My新增智能位置共享模式​​
  • 自动化计算机经过加固后有什么好处?