java面向对象问题

使用this关键字时,this.后边的第一个变量是构造方法中的形参还是主函数中传递的实参呢

如果是在构造方法中,应该是类里面的成员变量,然后在赋值为构造方法里的形参,实际调用用实参来赋值的;也可以使用this来调用其他成员方法。

测试代码如下:

参考链接:


https://blog.csdn.net/qq_58284486/article/details/123067160



public class thisTest {

    private String name;
    private int age;

    
    
    public thisTest() {
        
    }
    
    public thisTest(String name, int age) {
        super();
        this.name = name; // 使用this调用成员变量name,赋值为形参的name的值,实际运行时赋值为实参的值
        this.age = age;  // 使用this调用成员变量age赋值为形参的age的值,实际运行时赋值为实参的值
        this.sayHello();  //使用this来调用其他成员方法
    }

    
    public void sayHello() {
        System.out.println("Hello!");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    

    @Override
    public String toString() {
        return "thisTest [name=" + name + ", age=" + age + "]";
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        thisTest t = new thisTest("张三",23);
        System.out.println(t);
    }

}

img

this表示当前类,this点后面可以是类成员,或者方法,只需记住,this代表就是当前类