美文网首页Java 杂谈Java
java学习第十四章(this关键字)

java学习第十四章(this关键字)

作者: 锋叔 | 来源:发表于2019-03-27 17:35 被阅读0次
  • this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

this 的用法在 Java 中大体可以分为3种:

1.普通的直接引用

这种就不用讲了,this 相当于是指向当前对象本身。

class Man { 
  String name = 'Z_D_殿峰';
  public void show() {
    System.out.println(name); // Z_D_殿峰
    System.out.println(this.name); // Z_D_殿峰
  }
} 
2.局部变量与成员变量重名,用 this 来区分, this指向实例:
class Student {
    char gender = '男';
    public void test() {
        char gender = '女';
        // 可以重复命名但是打印只会按照就近原则
        System.out.println("性别:" + gender); // => 性别:女
        
        // 局部变量与成员变量重名,用 this 来区分:
        System.out.println("性别:" + this.gender); // =>性别:男
    }
}
3.引用构造函数,this指向当前类的实例。
class Student  {
    String name;
    int age = 12;
    char gender = '男';
    public Student () { // 先定义一个无参的构造方法
        System.out.println("我是一个无参的构造方法!");
    }
    // 我们来看this和构造函数的联系
    public Student (String name, char gender, int age) {
        // name = name; // 报警告,不利于阅读
        this.name = name;
        this.gender = gender;
        this.age = age;
    }
    public void show() {
        System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + gender);
    }
}
public class ThisAndStatic {
    public static void main(String[] args) {
        Student s1 = new Student();
        Student s2 = new Student("Z_D_殿峰", '男', 18);
        s2.show();
    }
}
// 我是一个无参的构造方法!
// 姓名:Z_D_殿峰,年龄:18,性别:男

总结 this不难,用得多了就会得心应手,简单点儿像它就是一个指针,你在那个实例里用就是指向那个实例本身。

上一章 目录 下一章

相关文章

网友评论

    本文标题:java学习第十四章(this关键字)

    本文链接:https://www.haomeiwen.com/subject/xzocvqtx.html