00037_this关键字

1、成员变量和局部变量同名问题

    当在方法中出现了局部变量和成员变量同名的时候,可以在成员变量名前面加上this.来区别成员变量和局部变量。

复制代码
 1 class Person {
 2     private int age;
 3     private String name;
 4     
 5     public void speak() {
 6         this.name = "小强";
 7         this.age = 18;
 8         System.out.println("name=" + this.name + ",age=" + this.age);
 9     }
10 }
11 
12 class PersonDemo {
13     public static void main(String[] args) {
14         Person p = new Person();
15         p.speak();
16     }
17 }
复制代码

2、this的应用

    在Person类中定义功能,判断两个人是否是同龄人。

复制代码
 1 class Person {
 2     private int age;
 3     private String name;
 4 
 5     public int getAge() {
 6         return age;
 7     }
 8 
 9     public void setAge(int age) {
10         this.age = age;
11     }
12 
13     public String getName() {
14         return name;
15     }
16 
17     public void setName(String name) {
18         this.name = name;
19     }
20 
21     public void speak() {
22         System.out.println("name=" + this.name + ",age=" + this.age);
23     }
24 
25     // 判断是否为同龄人
26     public boolean equalsAge(Person p) {
27         // 使用当前调用该equalsAge方法对象的age和传递进来p的age进行比较
28         // 由于无法确定具体是哪一个对象调用equalsAge方法,这里就可以使用this来代替
29         /*
30          * if(this.age == p.age) { return true; } return false;
31          */
32         return this.age == p.age;
33     }
34 }
复制代码

 

posted @   gzdlh  阅读(144)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示