重生之javaSE_this关键字

本文详细介绍了Java编程中this关键字的作用,包括在构造器中如何使用this调用其他构造器以及如何解决同名成员与局部变量的问题。通过示例代码展示了this在不同场景下的应用,并给出了一个Person类的多个构造器实例,演示了构造器的相互调用和成员初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
    this 关键字
        this指代当前new的对象
        作用:
            1) 在构造器的首行通过this(实参)调用本类中其他构造器
               构造器不能相互调用

            2) 区分同名成员与局部变量问题
                默认会发生就近原则
                可以通过this.调用成员,否则默认找局部
                如果不存在局部与成员同名问题,指代成员的this.可以省略

        注意:
            1.this在构造器中使用,默认指代当前new的对象
            2.在成员方法中的this,默认指代调用成员方法的对象
            3.this不能使用在static方法中

 */

public class Class001_This {
    public static void main(String[] args) {
//        Person p = new Person("张三",18,true);
//        p.show();

        Person p = new Person("张三");
        System.out.println("p--->地址--->"+p);
        p.show();
    }
}

class Person{
    //属性
    public String name;
    public int age;
    public boolean gender;

    //构造器
    public Person(){
        System.out.println("-----空造器.....");
    }

    //带参构造
    public Person(String name){
        System.out.println("-----1个参数构造器.....");
        this.name = name;
    }
    public Person(String name,int age){
        System.out.println("-----2个参数构造器.....");
        this.name = name;
        this.age = age;
    }

    public Person(String name,int age,boolean gender){
        this(name,age);
        this.gender = gender;
        System.out.println("-----3个参数构造器.....");
    }

    //功能
    public void show(){
        System.out.println("this------->"+this);
        String name = "str";
        System.out.println(this.name+"--->"+age+"--->"+this.gender);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值