Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java uml图中的方法_Java_Methods_Uml - Fatal编程技术网

Java uml图中的方法

Java uml图中的方法,java,methods,uml,Java,Methods,Uml,我有这个uml图,我不理解我从朋友那里得到的代码的一部分。我不懂“等于”的方法。。它的用途是什么?我为什么要使用它? 这是UML: 但我不明白代码的某些部分 这是迄今为止代码的一部分: class Artist { private String name; Artist(String name) { // constructor this.name = name; } public String getName() { // name getter return nam

我有这个uml图,我不理解我从朋友那里得到的代码的一部分。我不懂“等于”的方法。。它的用途是什么?我为什么要使用它?
这是UML:

但我不明白代码的某些部分

这是迄今为止代码的一部分:

class Artist { 

private String name;

Artist(String name) { // constructor
    this.name = name;
}

public String getName() { // name getter
    return name;
}

public String toString() { // toString
    return name;
}
}

class CD { 
private String title;
private Artist name;

CD(String title) {
    this.title = title;
}

CD(String title, Artist name) {
    this.title = title;
    this.name = name;
}

public Artist getArtist() {
    return name;
}

public String getTitle() {
    return title;
}

public String toString() {
    return title + " by " + getArtist();
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    CD other = (CD) obj;
    if (name == null) {
        if (other.name != null)
            return false;
    } else if (!name.equals(other.name))
        return false;
    if (title == null) {
        if (other.title != null)
            return false;
    } else if (!title.equals(other.title))
        return false;
    return true;
}

}

类图忽略了CD从提供
equals
方法的常规对象继承的内容。正确地说,它应该是这样的


(我的Java知识几乎为空。)

Equals方法是一个包装类,用于执行数字比较。用外行术语来说,它就像比较两个数字。例x=10,y=20是x=y吗?答案是否定的。同样在java中,如果x=y else返回false,那么equals方法将返回true。 在您的代码中,他正在重写方法equals,以自定义代码中的比较。他正在比较两个CD对象,如果它们相等,则返回true,否则返回false。

读取。可能重复的