In Java, legacy classes are system components that we continue to work with, even though they may be deprecated, use deprecated methods or sub-optimal programming techniques, for example. Systems may use legacy classes from third party suppliers that are no longer maintained, for which no source code is available.
Ideally, one would replace such legacy
classes with contemporary implementations, but sometimes the extent of
a system's dependence on legacy classes makes them difficult or
un-economical to replace. In this case, it is often necessary to use
adapter classes that enable legacy classes to work with new programming
interfaces.
In collections we have all synchronised classes, Vector Stack and HashTable all are Legacy Classes.