为什么javac在同一个类中找不到符号?

为什么javac在同一个类中找不到符号?,java,generics,Java,Generics,该类是泛型的,比如说generic,包含以下内容: private int count; public int Count() { return count; } 它有一个引发编译器错误的方法。它找不到类Generic的符号Count()(或Count),并指向以下行: public void set(Generic<? extends T> other) { int something = other.Count(); int somethingElse = othe

该类是泛型的,比如说
generic
,包含以下内容:

private int count;
public int Count()
{
  return count;
}
它有一个引发编译器错误的方法。它找不到类
Generic
的符号
Count()
(或
Count
),并指向以下行:

public void set(Generic<? extends T> other)
{
  int something = other.Count();
  int somethingElse = other.count;
  //actions
}

public void set(Generic这是一个扩展注释,而不是答案

以下程序在Eclipse中编译时没有错误:

public class Generic<T> {
  private int count;
  public int Count()
  {
    return count;
  }
  public void set(Generic<? extends T> other)
  {
    int something = other.Count();
    int somethingElse = other.count;
  }
}
公共类泛型{
私人整数计数;
公共整数计数()
{
返回计数;
}

public void set(Generic这是一个扩展注释,而不是答案

以下程序在Eclipse中编译时没有错误:

public class Generic<T> {
  private int count;
  public int Count()
  {
    return count;
  }
  public void set(Generic<? extends T> other)
  {
    int something = other.Count();
    int somethingElse = other.count;
  }
}
公共类泛型{
私人整数计数;
公共整数计数()
{
返回计数;
}

public void set(generic)您必须通过public accessor方法才能访问private字段。为什么您的类是generic?我不需要访问private字段。目前,我只需要调用count()进行编译。该类是泛型的,因为它对泛型对象进行建模。它包含的内容比我在这里介绍的多。但是,正如您在任何非泛型类中所注意到的那样,我也应该能够访问私有字段。我之前的注释可能会错误地说明我正在成功编译。我的意思是,我正在尝试并获得编译器错误。为什么我找不到该类thod count()?other与这个类的类型不同吗?哦,您的方法不应该以大写字母开头,并且该方法应该命名为getCount(),关于遵循java编码约定的其他注释。:>您必须通过public accessor方法才能访问private字段。为什么您的类是泛型的?我不需要访问private字段。目前,我只需要调用count()进行编译。该类是泛型的,因为它对泛型对象进行建模。它包含的内容比我在这里介绍的多。但是,正如您在任何非泛型类中所注意到的那样,我也应该能够访问私有字段。我之前的注释可能会错误地说明我正在成功编译。我的意思是,我正在尝试并获得编译器错误。为什么我找不到该类thod count()?other与这个类的类型不同吗?哦,您的方法不应该以大写字母开头,并且该方法应该命名为getCount(),关于遵循java编码约定的其他评论。>@Bhesh Gurung我遗漏了一个尖括号。仍然很困惑编译器会指出它所指向的位置,而不是解析器实际丢失的位置。谢谢Patricia,Zagrev。我想展示一个成功引用other.count字段的示例,但我的最大字符是字符太小了。只要到目前为止编译器处理的代码是至少一个语法正确程序的前缀,即使该程序与您的意思无关,编译器也会继续解析。缺少标点符号往往会导致程序员的意图与编译器的视图不匹配。如果错误没有意义,则e、 从指定的位置向后看是否有错误。查看并重新格式化IDE中语法突出显示的代码也可能会带来实际问题。@Bhesh Gurung我在某个地方遗漏了一个尖括号。仍然很困惑,编译器会指出它所指向的位置,而不是解析器实际迷失方向的位置。谢谢Patricia,Zagrev。我想展示一个成功引用other.count字段的示例,但我的最大字符数太小了。只要编译器迄今为止处理的代码是至少一个语法正确程序的前缀,即使该程序与您的意思无关,编译器仍会继续解析。缺少标点符号往往会导致错误使程序员的意图与编译器的视图不匹配。如果错误没有意义,请从指定位置向后看是否有错误。查看并重新格式化IDE中语法突出显示的代码也可能导致实际问题。