java: How should we use Date and Calendar objects in Java?

Is calendar efficient? Shoudl every object be Calendar and not Date? When to use Date and when to use Calendar? What are the recommendations?