本帖最后由 whr0227 于 2012-04-05 15:38:41 编辑

解决方案 »

  1.   

    你的代码class A
    {
    private String name;
    private String idstr;
    public A(){}
     A(String name,String idstr)
    {
    this.name=name;
    this.idstr=idstr;}
    public boolean equals(Object obj)
    {
    if (shis==obj)   //shis ??  应该是this吧???  
    {
    return true;
    }if(obj!=null&&(obj.getclass()).eqauls (A.class))
    {
    A AObj=(A)obj;
    if((this.getidstr()).equals(Aobj.getidstr()))
    {
    return true;}
    }
    return false;
    }
    } public class B
    {
    public static void main(String[]args)
    {
    A p1=new A("孙悟空");
    A p2=new Person("孙行者");
    A p3=new A("孙悟饭");
    System.out.println("p1,p2是否相等:"+p1.equals(p2));
    System.out.println("p2,p3是否相等:"+p2.equals(p3));}
    }代码真心  很乱………………  你的……
      

  2.   

    把代码该对,能运行 ,自己再加点 System.out.println() ,就差不多知道自己的问题出现在哪里了
      

  3.   

    建议楼主这样写,判断对象引用的类型,不能用equals来判断。if(obj!=null&& obj instanceof A){
       ....
    }
      

  4.   

    我晕了,代码里面好多错啊,this写成shis, 私有成员变量,没有生成get,set方法,new对象时明明要传入两个参数,却只传入一个参数。。LZ先把那些最基础的东西搞明白吧。这样搞,会搞死人的。
      

  5.   

    我把你的修改了下,你自己看看,LS说的自动复写也可以,eclips有这样的功能。class A {
    private String name;
    private String idstr; public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public String getIdstr() {
    return idstr;
    } public void setIdstr(String idstr) {
    this.idstr = idstr;
    } public A() {
    } A(String name, String idstr) {
    this.name = name;
    this.idstr = idstr; } public boolean equals(Object obj) {
    if (this == obj) {
    return true;
    } if (obj != null && (obj instanceof A)) {
    A AObj = (A) obj;
    System.out.println(AObj.idstr);
    if ((this.idstr).equals(AObj.idstr)) {
    return true; }
    }
    return false;
    }
    }public class B {
    public static void main(String[] args) {
    A p1 = new A("孙悟空", "shanghai");
    A p2 = new A("孙行者", "xi'an");
    A p3 = new A("孙悟饭", "shanghai");
    System.out.println("p1,p2是否相等:" + p1.equals(p2));
    System.out.println("p2,p3是否相等:" + p2.equals(p3));
    System.out.println("p2,p3是否相等:" + p1.equals(p3)); }
    }
      

  6.   


    class A {
    private String name;
    private String idstr;
    public A(String name){
    this.name = name;
    }
    A(String name, String idstr) {
    this.name = name;
    this.idstr = idstr;
    }
    public boolean equals(Object obj) {
    if (this == obj) {
    return true;
    }
    if (obj != null && obj instanceof A) {
    A a = (A)obj;
    if (this.getName().equals(a.getName())){
    return true;
    }
    }
    return false;
    }
    public String getIdstr() {
    return idstr;
    }
    public void setIdstr(String idstr) {
    this.idstr = idstr;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    }
    class Person1 extends A{

    public Person1(String name) {
    super(name);
    }
    }
    public class B {
    public static void main(String[] args) {
    A p1 = new A("孙悟空");
    A p2 = new Person1("孙悟空");
    A p3 = new A("孙悟饭");
    System.out.println("p1,p2是否相等:" + p1.equals(p2));
    System.out.println("p2,p3是否相等:" + p2.equals(p3));
    }
    }
    //楼主好好打基础,基础不行,写代码会很累的。
      

  7.   

    编译过程中出现E:\xiti>javac B.java
    .\Object.java:5: 需要 '{'
    public class Welcom extendx Applet implemen ActionListene
                       ^
    .\Object.java:12: 非法字符: \65306
                    lb=new Lable(请输入您的名字:);
                                        ^
    .\Object.java:5: 类 Welcom 是公共的,应在名为 Welcom.java
    public class Welcom extendx Applet implemen ActionListene
           ^
    B.java:31: 无法访问 Object
    错误的类文件: .\Object.java
    文件不包含类 Object
    请删除该文件或确保该文件位于正确的类路径子目录中。
        public boolean equals(Object obj) {
                              ^E:\xiti>