class A
{
public int a;
public A(int i)
{
a=i;
}
public int geta()
{
return a;
}
}
public class Ex4_9
{
public static void main(String args[])
{
A a=new A(2);
A b=new A(2); if (a.equals(b))
{
System.out.println("YES");
}
else
{
System.out.println("NO");
} }
 public boolean equals(Object x)
{
if (this.getClass()!=x.getClass())return false;
A c=(A)x;
return (this.geta()==c.geta());
}}主是重写 equals  比较两个对像是同一 还是相等!
D:\java>javac Ex4_9.java
Ex4_9.java:34: 找不到符号
符号: 方法 geta()
位置: 类 Ex4_9
                return (this.geta()==c.geta());
                        ^
1 错误

解决方案 »

  1.   

    this.geta()
    class   Ex4_9 中就是没有这个方法呀?
    你用eclipse可以自动生成int hashCode 和boolean equal方法
      

  2.   

    对 哎我也学了  C++  BEN 没想好 !class A
    {
    public int a;
    public A(int i)
    {
    a=i;
    }
    public int geta()
    {
    return a;
    }
    public boolean equals(Object x)
    {
    if (this.getClass()!=x.getClass())return false;
    A c=(A)x;
    return (this.geta()==c.geta());
    }
    }
      

  3.   

    Ex4_9里没有定义geta()重载equals好像没用