It is generally perceived to be good practice to have high cohesion with low coupling. Here are a few links regarding coupling and cohesion.
stackoverflow on best practicestackoverflow on best practice
Having two classes reference each other is having high coupling. The google guice framework aims to achieve high cohesion with low coupling through means of dependency injection. I would suggest you read up on the topic a bit more and then make your own call given your context.