package cn.syy;
class Book{
private String title;
private double price;
public Book(String title,double price){
this.title = title;
this.price = price;
}
public boolean equals(Object object){
if(this==object){ //地址相同
return true;
}
if(object == null){
return false;
}
if(!(object instanceof Book)){//object 不是本类对象
return false;
}
Book book = (Book) object;//向上转型
if(this.title.equals(book.title)&& this.price==book.price){ //判断属性
return true;
}
return false;
}
public String toString(){
return "价格:"+this.price+",书名:"+this.title;
}
}
public class ObjectEqualsPractise {
public static void main(String[] args) {
Book bk1 = new Book("jaba",5896.80);
Book bk2 = new Book("python",60.70);
System.out.println(bk1.equals(bk2));
}
}
Object可以接收一切引用数据类型
package cn.syy;
//整个程序的参数统一在了Object类型上
interface A {
public void fun();
}
class B implements A{//B 是 Obje的子类,
public void fun(){
System.out.println("Hello World!");
}
}
public class Example {
public static void main(String[] args) {
A a= new B( );
Object obj = a;//接收接口对象
A t = (A) obj;//向下转型
t.fun();
}
}