黑马程序员-day08-面向对象(Object类)

------- android培训java培训、期待与您交流! ----------

Object类
定义:
是所有对象的直接或者间接父类。该类中定义的肯定是所有对象都具备的功能。

Object类中的equals方法
作用:指示其他某个对象是否与此对象“相等”,就是比较哈希码值是否相等。
演示代码
import java.lang.reflect.Method;
 
/*
需求:比较两个人是不是同龄人
思路:重写父类的equals方法,定义自己特有比较方法
*/
//人类
class Person{ //extends Object
	private String name;
	private int age;
	
	Person(String name,int age){
		this.name = name;
		this.age = age;
	}
	//重写equals方法:比较两个人是不是同龄人
	public boolean equals(Object obj){
		//判断比较的对象是不是同类型对象
		if(obj instanceof Person){
		//多态,向下转型
		Person p = (Person)obj;
		return this.age == p.age;
		}
		return false;
	}
}

//猫类
class Cat{
}

//测试类
class ObjectDemo{
	public static void main(String[] args){
		Person p1 = new Person("hxm",20);
		Person p2 = new Person("lx",20);
		Cat c = new Cat();
		//同类型对象比较
		System.out.println(p1.equals(p2));
		//不同类型对象比较
		System.out.println(p1.equals(c));
		
		//获取Person类中方法
		System.out.println("获取Person类中方法");
		Method[] meth = p1.getClass().getMethods();
		for(int x=0; x<meth.length; x++){
			System.out.println(meth[x].toString());
		}
	}
}

Object类中的toString方法
作用:返回该对象的字符串表示。该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: 
getClass().getName() + '@' + Integer.toHexString(hashCode())

注意:
输出语句打印对象时,会自动调用对象的toString方法。打印对象的字符串表现形式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值