创投资讯
程序员必会之java关键字中this_this()用
2022-07-04 00:40  浏览:369

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 }

    例子