return this;是什么意思,返回的是什么?

ChatGPT回答说:

return this; 表示方法返回当前对象的引用。这意味着当调用这个方法时,返回的是调用该方法的对象本身。
在这种情况下,该方法返回的是调用该方法的对象,这样可以支持方法链式调用。通过返回当前对象的引用,可以在一个语句中连续调用对象的方法,而无需每次调用都创建一个新的对象。

示例:

package com.demo;

/**
 * 示例实体类
 * 日期:2024/3/21
 */
public class Demo {

    /**
     * 属性一
     */
    private int demo1;

    /**
     * 属性二
     */
    private Object demo2;

    /**
     * 属性三
     */
    private long demo3;

    /**
     * 属性四
     */
    private String demo4;

    public Demo setDemo1(int demo1) {
        this.demo1 = demo1;
        return this;
    }

    public Demo setDemo2(Object demo2) {
        this.demo2 = demo2;
        return this;
    }

    public Demo setDemo3(long demo3) {
        this.demo3 = demo3;
        return this;
    }

    public Demo setDemo4(String demo4) {
        this.demo4 = demo4;
        return this;
    }

    //自定义set方法
    public Demo setDemo(int demo1, Object demo2, long demo3, String demo4) {
        //链式设置属性值
        this.setDemo1(demo1)
            .setDemo2(demo2)
            .setDemo3(demo3)
            .setDemo4(demo4);

        return this;
    }

    //主程序入口
    public static void main(String[] args) {

        //实例化Demo对象
        Demo demo = new Demo();
        //属性赋值
        demo.setDemo(1,2,3,"4");


        System.out.println("demo1: " + demo.demo1);
        System.out.println("demo2: " + demo.demo2);
        System.out.println("demo3: " + demo.demo3);
        System.out.println("demo4: " + demo.demo4);

        //重新链式赋值
        demo.setDemo1(11).setDemo2(22).setDemo3(33).setDemo4("44");
        //重新赋值后
        System.out.println(">>>>> 重新赋值后 <<<<<<<");
        System.out.println("demo1: " + demo.demo1);
        System.out.println("demo2: " + demo.demo2);
        System.out.println("demo3: " + demo.demo3);
        System.out.println("demo4: " + demo.demo4);
        
    }
}

控制台输出

demo1: 1
demo2: 2
demo3: 3
demo4: 4
>>>>> 重新赋值后 <<<<<<<
demo1: 11
demo2: 22
demo3: 33
demo4: 44

进程已结束,退出代码0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值