Object类

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;
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值