/*
将两个数进行对比
*/
/*
class Demo
{
private int num;
Demo(int num)
{
this.num = num;
}
public boolean compare(Demo d)
{
return this.num == d.num;
}
}
class Demo1
{
public static void main(String[] args)
{
Demo d1 = new Demo(4);
Demo d2 = new Demo(5);
System.out.println(d1.compare(d2));
}
}
*/
/*
Object多态的应用
*/
class Demo
{
private int num;
Demo(int num)
{
this.num = num;
}
public boolean equals(Object obj) //等同于 Object obj = new Demo();
{
if!(obj instanceof Demo) //一个判断语句,判断Obj对象是否属于Demo类型。前面加上!就是表示不属于该类型。
return false;
Demo d = (Demo)obj; //强制向下转换,即将Objecct类强制转换为Demo类。
return this.num == d.num;
}
}
class person
{
}
class Demo1
{
public static void main(String[] args)
{
Demo d1 = new Demo(4);
Demo d2 = new Demo(5);
person p = new person();//这句话编译时候没问题,因为person类也属于Object类,能将person类传进Object类当中。
//但是运行会出现问题,因为不能将(person)obj强制转换为Demo d类型,也即不能将Object类强制转换为Demo类型。
System.out.println(d1.equals(d2));
}
}
小白学Java核心知识点(面向对象)二十一:Object类中equals多态形式的应用
最新推荐文章于 2022-12-13 06:30:00 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)