private关键字-this关键字

private关键字

private的含义

  1. private是一个权限修饰符,代表最小权限.
  2. 可以修饰成员变量和成员方法.
  3. 被private修饰后的成员变量和成员方法,只在本类中才鞥你访问.

private的使用格式

  private 数据类型 变量名 ;

1. 使用 private 修饰成员变量,代码如下:

1 public class Student {
2 private String name;
3 private int age;
4 }

2. 提供 getXxx 方法 / setXxx 方法,可以访问成员变量,代码如下:

复制代码
 1 public class Student {
 2 private String name;
 3 private int age;
 4 public void setName(String n) {
 5 name = n;
 6 }
 7 public String getName() {
 8 return name;
 9 }
10 public void setAge(int a) {
11 age = a;
12 }
13 public int getAge() {
14 return age;
15 }
16 }
复制代码

 

this关键字

我们发现 setXxx 方法中的形参名字并不符合见名知意的规定,那么如果修改与成员变量名一致,是否就见名知意 了呢?代码如下:

复制代码
 1 public class Student {
 2 private String name;
 3 private int age;
 4 public void setName(String name) {
 5 name = name;
 6 }
 7 public void setAge(int age) {
 8 age = age;
 9 }
10 }
复制代码

经过修改和测试,我们发现新的问题,成员变量赋值失败了。也就是说,在修改了 setXxx() 的形参变量名后,方 法并没有给成员变量赋值!这是由于形参变量名与成员变量名重名,导致成员变量名被隐藏,方法中的变量名,无 法访问到成员变量,从而赋值失败。所以,我们只能使用this关键字,来解决这个重名问题。

this的含义

this代表所在类的当前对象的引用(地址值),即对象自己的引用。

记住 :方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。

this使用格式

this.成员变量名;

使用 this 修饰方法中的变量,解决成员变量被隐藏的问题,代码如下:

复制代码
 1 public class Student {
 2 private String name;
 3 private int age;
 4 public void setName(String name) {
 5 //name = name;
 6 this.name = name;
 7 }
 8 public String getName() {
 9 return name;
10 }
11 public void setAge(int age) {
12 //age = age;
13 this.age = age;
14 }
15 public int getAge() {
16 return age;
17 }
18 }
复制代码

小贴士:方法中只有一个变量名时,默认也是使用 this 修饰,可以省略不写。

posted @   ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示