basic kn: hashcode, equal and extends, super, comparable, comparator