The great majority of classes that you will design are passive. This means that they get instantiated, their methods get called, and they perform the operations defined in their methods. In effect, they do what they do when they are asked to, by another object calling one of their methods.
Active objects, on the other hand, do what they do as a consequence of being created. Implementation typically has a private method that gets called in the object's constructor in some way.
A simple and visual example of an active object is this (borrowed from here). Suppose you want to simulate rain falling down a screen. Each raindrop is simply a ball falling from the top of the screen to the bottom. So you have an active class called Drop, which draws a filled circle at a random x coordinate at the top of the screen, and moves it in increments to the bottom. (Again, this behavior occurs by calling a private method in the constructor.) A RainMaker class simply instantiates Drop classes, perhaps at random intervals of time.
The Drop class is active because it doesn't need to be told to fall from the top of the screen to the bottom. It does that by the fact of having been instantiated.
Most examples are more complex, because most active objects need to interact with other objects during their lifetime to do anything useful (and these Drop objects don't). An indicator of an active object is that it controls when it executes operations it's asked to execute. So, asynchronous messaging queues and that sort of thing are indicators.
This gives some more advanced information.