您的位置 首页 java

程序员必会之java关键字中this、this()用法

this只能在类中的非 静态方法 中使用

this

  • 引用本类中的成员属性或方法。
 public class Cat {
     private  String name;
    public  void  eat () {
        // this引用本类的成员属性
        System.out.println(this.name);
    }
    public void drink () {
        // this引用本类中的方法
        this.eat();
    }
}  
  • 当方法的 形参 和成员属性一致时,用this区分。通常在set方法里。
 private String name;
public void setName(String name) {
  this.name = name;
}  
  • 指代当前类对象。
 private String name;
public Cat eat(String name) {
  this.name = name;
  return this;
}
public  static  void main(String[] args) {
  Cat cat1 = new Cat();
  Cat cat2 = cat1.eat("鱼");
  System.out.println(cat2.name); 
  // 鱼
}  

this()

  • 指代当前类的无参构造函数。
  • 构造函数必须放在第一行,且只能存在一个。
 private String name;
    private int age;
    public Cat() {
        System.out.println("cat无参构造");
    }
    public Cat(String name) {
        // 必须放在第一行
        this();
        System.out.println("cat有参构造 " + name);
    }
    public Cat(String name, int age) {
        // 只能存在一个this()
        this(name);
        System.out.println("cat有参构造" + name + " " + age);
    }
    public static void main(String[] args) {
        new Cat();
        // cat无参构造
      
        new Cat("小白");
        // cat无参构造
        // cat有参构造 小白
      
        new Cat("小橘",3);
        // cat无参构造
        // cat有参构造 小橘
        // cat有参构造小橘 3
    }  

例子

文章来源:智云一二三科技

文章标题:程序员必会之java关键字中this、this()用法

文章地址:https://www.zhihuclub.com/186442.shtml

关于作者: 智云科技

热门文章

网站地图