为了账号安全,请及时绑定邮箱和手机立即绑定

原程序如下,里面的personObj,(person)obj各是什么含义?

原程序如下,里面的personObj,(person)obj各是什么含义?

Qyouu 2022-05-31 11:07:42
class Person{private String name;private String idStr;public Person(){}public Person(String name , String idStr){this.name = name;this.idStr = idStr;}//下面是name和idStr的setter和getter方法。public void setName(String name){this.name = name;}public String getName(){return this.name;}public void setIdStr(String idStr){this.idStr = idStr;}public String getIdStr(){return this.idStr;}// //重写equals方法,提供自定义的相等标准// public boolean equals(Object obj)// {// //只有当obj是Person对象// if (obj != null && obj instanceof Person)// {// Person personObj = (Person)obj;// //并且当前对象的idStr与obj对象的idStr相等才可判断两个对象相等// if (this.getIdStr().equals(personObj.getIdStr()))// {// return true;// }// }// return false;// }//重写equals方法,提供自定义的相等标准public boolean equals(Object obj){//待比较的两个对象是同一个对象,直接返回trueif(this == obj){return true;}//只有当obj是Person对象if (obj != null && obj.getClass() == Person.class){Person personObj = (Person)obj;//并且当前对象的idStr与obj对象的idStr相等才可判断两个对象相等if (this.getIdStr().equals(personObj.getIdStr())){return true;}}return false;}}public class OverrideEqualsRight{public static void main(String[] args){Person p1 = new Person("孙悟空" , "12343433433");Person p2 = new Person("孙行者" , "12343433433");Person p3 = new Person("孙悟饭" , "99933433");//p1和p2的idStr相等,所以输出trueSystem.out.println("p1和p2是否相等?" + p1.equals(p2));//p2和p3的idStr不相等,所以输出falseSystem.out.println("p2和p3是否相等?" + p2.equals(p3));}}
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

personObj,是Person对象的一个引用,它可以调用一切Person对象中可以调用的方法!当然必须有访问权限!
(person)obj 是强制转换,就是将obj类型强制转换成Person类型

查看完整回答
反对 回复 2022-06-06
?
慕森卡

TA贡献1806条经验 获得超8个赞

{ // Person personObj = (Person)obj; // //并且当前对象的idStr与obj} !那不是很简单 !~!?~问题

查看完整回答
反对 回复 2022-06-06
  • 2 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信