Changing a class that was not declared public
to be declared public
does not
break compatibility with pre-existing binaries.
If a class that was declared public
is changed to not be declared public
, then an IllegalAccessError
is thrown if a pre-existing binary is linked that needs but no longer has access to the class type; such a change is not recommended for widely distributed classes.