day06--封装的优化_this的概述和使用

This commit is contained in:
2026-09-21 11:19:11 +08:00
parent 24a3a24382
commit 6476d75539
2 changed files with 18 additions and 7 deletions
@@ -7,6 +7,7 @@ public class Demo03 {
//其他类无法对private私有化属性进行随意的访问了!!!
/*s.name = "张三";
s.age = 120;*/
System.out.println("学生对象s:"+s);
s.setName("张三");
s.setAge(21);
showStudent(s);
+17 -7
View File
@@ -11,27 +11,37 @@ public class Student {
private String name;
private int age;
//注意:编程规范最好要见其名知其意
//定义一对get/set方法对私有的,允许访问的 属性进行操作
public String getName(){
return name;
return this.name;
}
public void setName(String n){
name = n;
public void setName(String name){
//此处发生了局部变量与成员变量同名的问题
//name = name;//此代码的含义:局部变量name = 局部变量name
/*
this:表示的是该方法的调用者对象,谁调用方法setName,this就是谁
注意:在一个类中只要使用到成员变量和成员方法,代码的前面都会默认加上this.
*/
System.out.println("this关键字:"+this);
this.name = name;//此代码的含义:成员变量name = 局部变量name
}
public int getAge(){
return age;
return this.age;
}
public void setAge(int a){
if (a > 100 || a < 0) {
public void setAge(int age){
if (age > 100 || age < 0) {
System.out.println("您输入的年龄有误,只能是0~100");
//此处直接将方法结束即可
return;
}
age = a;
this.age = age;
}
}