From a1960a6a270b86583670ad03ab766aa55143f269 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 19 Jan 2026 11:25:48 +0800 Subject: [PATCH] =?UTF-8?q?day06-=E9=9D=A2=E5=90=91=E5=AF=B9=E8=B1=A1-?= =?UTF-8?q?=E5=B0=81=E8=A3=85=E7=9A=84=E4=BC=98=E5=8C=96=5Fthis=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day06/src/com/inmind/object01/Demo04.java | 1 + day06/src/com/inmind/object01/Student.java | 32 +++++++++++++++------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/day06/src/com/inmind/object01/Demo04.java b/day06/src/com/inmind/object01/Demo04.java index e48615d..3a69fcd 100644 --- a/day06/src/com/inmind/object01/Demo04.java +++ b/day06/src/com/inmind/object01/Demo04.java @@ -10,6 +10,7 @@ public class Demo04 { public static void main(String[] args) { //创建一个学生,并给学生设置属性值,展示该学生 Student s = new Student(); + System.out.println("s的地址:"+s);//s中保存的是地址 //设置属性 //s.name = "张三"; s.setName("张三"); diff --git a/day06/src/com/inmind/object01/Student.java b/day06/src/com/inmind/object01/Student.java index 579f02a..316bed8 100644 --- a/day06/src/com/inmind/object01/Student.java +++ b/day06/src/com/inmind/object01/Student.java @@ -26,21 +26,33 @@ public class Student { return name; } - public void setName(String s){ - name = s;//对属性进行赋值 - } + + //定义变量,要见其名,知其意 + public void setName(String name){ + /* + 当前代码想要的效果:成员变量 = 局部变量 + 但当前的效果:局部变量 = 局部变量 + 如何解决当前重名的问题??? + 使用this:this.成员变量名,一定表示当前对象的成员变量 + this:表示一个对象,哪个对象调用了当前的方法,那么这个this就表示该对象 + */ + //name = name;局部变量name赋值给了局部变量name,就近原则 + System.out.println("this的内容:"+this); + //注意:类中的所有的成员,前面都应该加上this.,如果没加,编译器会帮我们自动加上 + + this.name = name;//name属性 = name局部变量 + } public int getAge(){ return age; } - - public void setAge(int a){ - if (a < 0||a >100) { + public void setAge(int age){ + if (age < 0||age >100) { System.out.println("您传递的年龄有误,只能是0~100的值"); //不对当前的属性进行赋值(让方法提前结束) return;//结束方法,如果有返回值,就会把值返回 } - age = a;//对属性进行赋值 + this.age = age;//对属性进行赋值 } @@ -48,17 +60,17 @@ public class Student { //吃饭 public void eat(String food) { - System.out.println(name+"学生在吃饭,吃"+food); + System.out.println(this.name+"学生在吃饭,吃"+food); } //睡觉 public void sleep() { - System.out.println(name+"学生在睡觉"); + System.out.println(this.name+"学生在睡觉"); } //学习 public void study(String book) { - System.out.println(name+"学生在学习,学"+book); + System.out.println(this.name+"学生在学习,学"+book); } public void show() {