Java学习"面向对象"之(this关键字的使用)

1.可以调用的结构:

属性;方法;构造器。

2.this修饰属性和方法:
(1) this理解为:

①当前对象;
②或当前正在创建的对象。

(2)规则及注意事项:

①在类的方法中,我们可以使用"this.属性 "或"this.方法"的方式。
调用当前对象的属性和方法。
但是,通常情况下,我们都选择省略"this.".

②特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this.变量"的方式,表明此变量是属性,而非形参。

在类的构造器中,我们可以使用"this.属性 "或"this.方法"的 方式。
调用当前正在创建的对象的属性和方法。
但是,通常情况下,我们都选择省略"this.".
特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this.变量"的方式,表明此变量是属性,而非形参。

3.this调用构造器:

①在类的构造器中,可以显式的使用"this(形参列表)"方式,调用本类中指定的其他构造器。

②构造器中不能使用"this(形参列表)"方式,调用自己。

③如果一个类中,有n个构造器,最多有n-1个构造器中,使用了"this(形参列表)"方式。

④规定:"this(形参列表)"方式,必须声明放在当前构造器首行。

构造器内部,最多只能声明一个"this(形参列表)"方式,用来调用其他构造器 。

举例:

public class PersonTest {
           public static void main(String[] args) {
            Person p1 = new   Person();
            
            p1.setAge(1);
            System.out.println(p1.getAge());
        } 
}

class Person{
    //属性
    private String name;
    private int age;
    
    //构造器
    public Person() {
        
    }
    public Person(String name) {
        this();
        this.name = name;//this关键字的使用:不可省略,加上后,表示此变量是属性。
    }
    public Person(int age) {
        this();
        this.age = age;
    }
    
    //方法
    public void setName(String name) {
        this.name = name; //this关键字的使用:不可省略,加上后,表示此变量是属性。
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;  //this关键字的使用
    }
    public int getAge() {
        return this.age;//this关键字一般省略。
    }
    
}

你可能感兴趣的:(Java学习"面向对象"之(this关键字的使用))