In the semi-functional Java world, I see development methodologies that make heavy use of dependency injection and mocking frameworks to achieve high levels of unit test coverage. In order to achieve thread safety, behavior is encapsulated in objects which have no state and no side effects (except maybe writing to the logs). Sometimes I have seen this called an Anemic Domain Model and the objects called Behavior Objects.
Such a class is not intended to be inherited from, so it may be marked as final or sealed, and it has no super class, though it may implement an interface. A single instance of the object is meant to exist in memory at runtime and is shared across many threads.
I was wondering if there was a single word that could be used to describe such a class with no fields and only pure functions.