您的位置:首页 > 移动开发 > Objective-C

java自学 Object类

2013-12-05 10:10 344 查看
Object类

1、object类是所有类的父类,只要是引用数据类型都可以使用object进行接收

2、对象在进行向下转型之前一定要先发生向上转型,要使用instanceof关键字判断

3、tostring():对象打印的时候调用

4、equals():对象比较时候使用

5、String类也是Object类的子类

Object类是所有类的父类, 则所有类的对象都可以使用Object接收,但是Object不管可以接收对象,还可以接受任意的数据类型

使用Object接收接口实例

interface A{
public String getInfo();
}
class B implements A{
public String getInfo(){	// 覆写方法
return "Hello World!!!" ;
}
};
public class ObjectDemo04{
public static void main(String args[]){
A a = new B() ;	// 向上转型,为接口实例化
Object obj = a ;	// 使用Object接收,向上转型
A x = (A)obj ;	// 向下转型
System.out.println(x.getInfo()) ;
}
};


数组实际上也可以使用Object类使用进行接收

public class ObjectDemo05{
public static void main(String args[]){
int temp[] = {1,3,5,7,9} ;	// 定义数组
Object obj = temp ;	// 使用Object接收数组
print(obj) ;
}
public static void print(Object o){
if(o instanceof int[]){		// 判断是否是整型数组
int x[] = (int[])o ;
for(int i=0;i<x.length;i++){
System.out.print(x[i] + "\t") ;
}
}
}
};


对象比较

class Person{
private String name ;	// 定义name属性
private int age ;		// 定义age属性
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public boolean equals(Object obj){
if(this==obj){		// 地址相等
return true ;	// 肯定是同一个对象
}
if(!(obj instanceof Person)){	// 不是Person对象
return false ;
}
Person per = (Person) obj ;	// 向下转型
if(per.name.equals(this.name)&&per.age == this.age){
return true ;	// 依次比较内容
}else{
return false ;
}
}
public String toString(){
return "姓名:" + this.name + ";年龄:" + this.age ;
}
};
public class ObjectDemo03{
public static void main(String args[]){
Person per1 = new Person("李兴华",30) ;	 // 实例化Person
Person per2 = new Person("李兴华",30) ;	 // 实例化Person
System.out.println(per1.equals(per2)?"是同一个人!" : "不是同一个人!") ;
System.out.println(per1.equals("hello")?"是同一个人!" : "不是同一个人!") ;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: