Components are generally larger grained things, built up of a bunch of classes. Technical definitions usually include some points about binary (compiled, ready to run), replaceable (given an interface, there could be several implementations), deployment units, and so on. Usually we talk about components providing "services" which are also larger grained than regular methods, maybe made up of quite complex goings on. For example, I might have a logging component with a single class for a simple public interface, but many classes and complex logic hidden inside. I hedge with words like "generally" and "usually" because there are always exceptions. A one-class component is not really forbidden, just not very common. BTW: Let's hope we don't get spanked for talking about this in an EJB forum! If you want to talk more theory like that, scroll on down to the general forums or maybe even the UML, OO, etc forum.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi