Is there any other method of stopping inheritance of a class apart from declaring it as final or by declaring its constructor as private?
Use a comment:
// do not inherit
Use a javadoc comment
Use a runtime check in the class constructor:
if (this.getClass() != MyClass.class) { throw new RuntimeException("Subclasses not allowed"); }