(1)Object简介
Object类是一切类的父类,所有的类默认继承了Object类。
任何对象都能被Object接收。
class Person extends Object{
};
public class ObjectDemo02{
public static void main(String arg[]){
Object obj1 = new Person() ;
Object obj2 = "hello" ;
}
};
Object不光可以接收类的引用,只要是引用数据类型都可以使用Object类接收
interface National{}
class Person extends Object implements National{
};
public class ObjectDemo03{
public static void main(String arg[]){
National na = new Person() ; // 子类为接口实例化
Object obj = na ; // 使用Object接收接口实例
National temp = (National)obj ;
}
};
Object接收数组,
public class ObjectDemo04{
public static void main(String arg[]){
int i[] = {1,2,3,4,5,6,7,8} ; // 数组
Object obj = i ; // 使用Object接收数组
int x[] = (int[]) obj ; // 向下转型
for(int j=0;j<x.length;j++){
System.out.print(x[j] + "、") ;
}
}
};
(2)Object类中的方法
public String toString()//对象打印时调用
public boolean equals(Object obj)//对象比较时调用,
class Person{
public String toString(){ // 覆写了toString()方法
return "Hello" ;
}
};
public class ObjectDemo05{
public static void main(String arg[]){
System.out.println(new Person()) ;
}
};
此程序中person类继承了toString()方法,打印了person类的对象就相当与person类的对象调用了toString方法,但是person中将toString覆写,那么此时打印对象调用的就是覆写的方法。
(3)equals,进行对象比较
public boolean equals(Object obj){ // 是完成对象的比较操作
if(this==obj){ // 两个地址相等
return true ;
}
if(!(obj instanceof Person)){ // 不是同一个类型
return false ;
}
Person per = (Person)obj ;
if(this.name.equals(per.name)&&this.age==per.age){
return true ;
}else{
return false ;
}
}
Object可以接收任意类型的对象引用。