Static factory methods in effective java

effective-java, java, static-methods

Solution

By "smaller" they mean "less classes".

Instead of providing lots of classes for each variation of implementation, instead factory methods have been provided that return such implementations without the need to have their classes declared as top-level classes (less "class bloat").

Problem

In Effective Java , Item 1, it says that the static factory methods made the Collections framework much smaller than it would have been. Could someone please explain how ? I can't understand how the following is possible just because of using static factory methods ? I mean we still have to implement those separate implementations don't we ? The Collections Framework API is much smaller than it would have been had it exported thirty-two separate public classes, one for each convenience implementation.

Original source