If a class that was not abstract
is changed to be declared abstract
, then pre-
existing binaries that attempt to create new instances of that class will throw either
an InstantiationError
at link time, or an InstantiationException
at run
time (if the method newInstance
(§20.3.6) of class Class
is used); such a change
is therefore not recommended for widely distributed classes.
Changing a class that was declared abstract
to no longer be declared abstract
does not break compatibility with pre-existing binaries.