1package foo.bar.testback; 2 3public class Foo { 4 5 private Object mValue; 6 7 @Override 8 public int hashCode() { 9 final int prime = 31; 10 int result = 1; 11 result = prime * result + ((mValue == null) ? 0 : mValue.hashCode()); 12 return result; 13 } 14 15 @Override 16 public boolean equals(Object obj) { 17 if (this == obj) 18 return true; 19 if (obj == null) 20 return false; 21 if (getClass() != obj.getClass()) 22 return false; 23 Foo other = (Foo) obj; 24 if (mValue == null) { 25 if (other.mValue != null) 26 return false; 27 } else if (!mValue.equals(other.mValue)) 28 return false; 29 return true; 30 } 31 32 33 private class Bar { 34 protected void doSomething() { 35 36 } 37 } 38 39 private class Baz extends Bar { 40 @Override 41 protected void doSomething() { 42 43 } 44 } 45} 46