Playing with java - a public method can not be overridden and then declared private