方法传递问题求解嗯嗯

img


不太明白方法参数的传递
我想知道equals方法
如果,里面的this.filed和括号里面的et.filed。
分别都是啥意思。。求解。
反正我就知道et是参数。参数点变量。。没明白这是干啥赋值吗?
我调用的话就是在程序入口里
输出一句话system.out.println (et equals(et2) )
所以et.filed==et2吗
不明白是怎么传递的。懵了。。

多加一个属性,将内容输出

public class EqualTest {
    private Integer id;
    public String field;
    public EqualTest(Integer id,String field){
        this.id=id;
        this.field=field;
    }

    public boolean equals(EqualTest et){
        System.out.println("当前对象this id:"+this.id);
        System.out.println("当前对象et id:"+et.id);
        if (this.field.equals(et.field))
            return true;
        return false;
    }

    public static void main(String[] args) {
        EqualTest et=new EqualTest(1,"EqualTest的对象");
        EqualTest et2=new EqualTest(2,"EqualTest的对象");
        System.out.println("et调用equals方法时,et2作为参数:this指代et对象:");
        System.out.println(et.equals(et2));
        System.out.println("et2调用equals方法时,et作为参数:this指代et2对象:");
        System.out.println(et2.equals(et));
    }
}

equals方法通常用于比较两个对象的属性是否相等。this.field和et.field分别指的是this对象(this是方法的一个参数,指的是调用方法的对象)和et对象(et是方法的另一个参数,指的是传入方法的参数)的属性field。equals方法可以比较两个对象是否相等,如果两个对象的field属性相等,那么就可以判断这两个对象是相等的,返回true;反之,如果两个对象的field属性不相等,那么就可以判断这两个对象是不相等的,返回false。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632