java 实际上都是类。
组件是抽象的概念而已,通俗的说是一些符合某种规范的类组合在一起就构成了组件。他可以提供某些特定的功能。
拿J2EE来说,有什么servlet,jsp, javabean,ejb都是组件。但实际他们都是类,只不过有他们特殊的规定。
举个例子,那个javabean来说:
javabean也就是个类,但你的类想成为javabean你必须,给你的类里的变量  (如xxx),添两个函数,getXxx()和setXxx()并且类里要有无参的构造函数。
有了这些就是JAVABEAN了。
为什么要有这些规定呢,目前只能说 组件之间要想相互使用必须得有一种规范来约束。