此时一个最基础的对象比较的功能实现了,以上按照要求进行了对象中属性内容的比较。但是以上的程序里面会存在有问题:主方法(main())就是一个客户端,客户端的程序逻辑越简单越好,最好隐藏所有的细节逻辑。
如果要想进行信息比较,那么所有的具体比较细节必须由每个对象自己完成。对象所在的类一定要提供有对象比较的方法。
那么现在的问题出现了,该如何去定义这个方法呢?假如说这个方法名称暂时定义为compare()。
package com.gwolf;
class Book {
private String title;
private double price;
public Book(String title, double price) {
this.title = title;
this.price = price;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public boolean compare(Book book) {
if(book.getTitle().equals(this.getTitle())&&
book.getPrice()==this.getPrice()) {
return true;
}else {
return false;
}
}
}
public class TestDemo {
public static void main(String[] args) {
Book book = new Book("java开发", 79);
Book book2 = new Book("java开发", 79);
if(book.compare(book2)) {
System.out.println("同一个对象");
}else {
System.out.println("不是同一个对象");
}
}
}