Since we can access private fields(and probably methods as well, havent checked) with reflection, they are not really private.
http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Field.html#get(java.lang.Object)
http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Field.html#set(java.lang.Object,%20java.lang.Object)
and
field.setAccessible(true);
Is there a way to make a field 100% private?