day06-面向对象特性之封装的优化_this的概述和使用

This commit is contained in:
2026-05-10 14:30:10 +08:00
parent 153253c031
commit db5d908e6c
2 changed files with 20 additions and 9 deletions

View File

@@ -15,11 +15,11 @@ public class Demo04 {
s.name = "张三";
System.out.println(s.age);
System.out.println(s.name);*/
s.setName("张三");
System.out.println("对象s的地址为"+s);
s.setName("李四");
System.out.println(s.getName());
s.setAge(-18);
s.setAge(18);
System.out.println(s.getAge());
}
}

View File

@@ -2,6 +2,8 @@ package com.inmind.private02;
/*
private:权限修饰符最小一个权限被它修饰的内容只能在本类中访问private可以修饰
成员方法和成员变量,表示私有化
注意在本类中使用任意的成员内容前面都有this.,不写,编译器也会加上
*/
public class Student {
//姓名
@@ -11,19 +13,28 @@ public class Student {
//get方法
public String getName(){
return name;
return this.name;
}
//set方法
public void setName(String a){
name = a;
public void setName(String name){
/*
当前代码想要的效果:成员变量 = 局部变量
但当前的效果:局部变量 = 局部变量
如何解决当前重名的问题???
使用thisthis.成员变量名,一定表示当前对象的成员变量
注意this表示一个对象哪个对象调用了当前的方法那么这个this就表示该对象
*/
this.name = name;
//s.name = name;
System.out.println("this:"+this);
}
//get方法
public int getAge(){
return age;
return this.age;
}
//set方法
@@ -32,12 +43,12 @@ public class Student {
System.out.println("您输入的年龄有误");
return;//提前结束方法如果年龄小于0或者大于120则直接返回不执行下面的代码
}
age = a;
this.age = a;
}
//学习
public void study(String book){
System.out.println(name+"学生正在学习" + book);
System.out.println(this.name+"学生正在学习" + book);
}
}