Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Java makes a distinction between interfaces, which have no method bodies, and implementations,
which are classes that may also be abstract. There is no distinction made in naming conventions
between abstract and non-abstract (concrete) classes.

Info

Abstract classes have some functions without method bodies. These are indicated with the abstract keyword.

In general, the interface should have the "natural" name. For instance, an interface could be
called Identifier, while the implementation should have a suffix such as Basic, Base or
Impl as in IdentifierBase. Using some other suffix to identify an implementing class, such
as in IdentifierExpanded, is probably fine, too.

Even better is to separate the implementations into a subpackage such as org.lcsim.ids.impl.