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

Object类

2014-05-05 20:43 295 查看
1.Object类

Object类 是类层次结构的根类。

每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法

所有类都是Object类的子类

2.toString( )方法

public String toString( )

返回该对象的字符串表示。

通常,toString方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写次方法。

3.equals()方法

public boolean equals(Object obj)

指示其他某个对象是否与此对象“相等”。equals方法在非空对象引用上实现相等关系:

自反性

对称性

传递性

一致性

4.使用Object类型传输数据

实例:

public class ObjectDemo{

public static void main(String[] args){

//method方法调用

}

public static void method(Object obj){

//处理逻辑

}

}

/**
Object类
*/
public class ObjectDemo{
public static void main(String[] args){
Baboon bb = new Baboon("小白",7,'公');
System.out.println(bb);
System.out.println(bb.toString());

Baboon b2 = new Baboon("小黑",8,'母');
Baboon b3 = bb;

System.out.println(bb==b2);
System.out.println(bb==b3);

Baboon b4 = new Baboon("小白",7,'公');
//System.out.println(bb==b4);

//当比较两个对象的值是否相等时,使用equals方法
System.out.println(bb.equals(b2));

System.out.println("-----------------------------");
method(b4);
method("小白");

}

//以Object类型作为参数传递
public static void method(Object obj){
if(obj instanceof Baboon){
Baboon b = (Baboon)obj;
b.eat();
}else{
System.out.println("该对象不是Baboon类型的实例");
}
}
}

//狒狒类
class Baboon{
private String name;
private int age;
private char sex;

public Baboon(String name,int age,char sex){
this.name = name;
this.age = age;
this.sex = sex;
}

public void eat(){
System.out.println("狒狒喜欢吃香蕉!");
}

//重写Object类中的toString方法
public String toString(){
return "name="+name+",age="+age+",sex="+sex;
}

//重写Object类中的equals方法(比较两个对象的值是否相等)
public boolean equals(Object obj){
//如果内存地址相等,那么一定是同一个对象,就无需比较两个对象的属性值
if(this==obj){
return true;
}
//判断obj是否为Baboon类型的实例
if(obj instanceof Baboon){
Baboon b = (Baboon)obj;//强制转换
//判断两个对象的属性值是否相等
if(!this.name.equals(b.name)){
return false;
}
else if(this.age!=b.age){
return false;
}
else if(this.sex!=b.sex){
return false;
}
return true;
}else{
return false;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: