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;
}