classes, interfaces, enumerations, annotation types

function

Draggable

Suppose you write a group of classes that represent graphic objects, such as circles, rectangles, lines, and points. You also write an interface, _____, that classes implement if they can be dragged with the mouse.

types

You should bundle these classes and the interface in a package for several reasons, including the following:

1. You and other programmers can easily determine that these types are related.
2. You and other programmers know where to find ____ that can provide graphics-related functions.
3. The names of your types won't conflict with the type names in other packages because the package creates a new namespace.
4. You can allow types within the package to have unrestricted access to one another yet still restrict access for types outside the package.