I'll admit it, that ones mine! Since you never have to work with the specific implementation class of Future when studying concurrency for the OCP 8 exam, I got used to thinking of it as a class.
I love the factory
pattern (where the specific return class type is "hidden" in favor of coding to an interface) but it has the side effect of you tend to think of an instances of an interface as belonging to a class with the same name.
Same thing happens when working with NIO.2, Path is an interface but it often is used like a class, since you are unlikely to ever work with the file system dependant class type. We did fix similar errors for Path, must have missed some for Future in Chapter 7!
If you call get() on a Future instance of our book, it shall be fixed