If your software project has a lot of abstract classes, this may indicate that there is something wrong with it. Many abstract classes may indicate the following things:
- Premature generalization
- Complex inheritance tree
Of course, abstract classes have their use. However, your project having many abstract classes may be a sign of these problems.