It is somewhat confusing to have a field name matching the declaring class name. This probably means that type and or field names could be more precise. Example :
public class Foo extends Bar {
  // There's probably a better name for foo
  int foo;
}