<Swing Dev> Integrated: 8252721: Nested classes in Swing APIs rely on default constructors

Prasanta Sadhukhan psadhukhan at openjdk.java.net
Fri Sep 18 04:03:25 UTC 2020


On Tue, 8 Sep 2020 12:04:16 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> Please review a fix for issue where it was seen that several
> nested classes rely on default constructors as part of their public API.
> 
> It's to be noted that "A no-arg public constructor is generated by the compiler for a class if it does not declare an
> explicit constructor. While convenient, this is inappropriate for many kinds of formal classes, both because the
> constructor will have no javadoc and because the constructor may be unintended."  For the JDK, classes intended to be
> used outside of the JDK, public classes in exported packages, should not rely on default constructors.
> Proposed fix is to add explicit public no-arg constructors for public classes and protected no-arg constructor for
> public abstract classes for javax.swing module (as one part of overalll java.desktop change)
> CSR: https://bugs.openjdk.java.net/browse/JDK-8252908

This pull request has now been integrated.

Changeset: 3ef2efb1
Author:    Prasanta Sadhukhan <psadhukhan at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/3ef2efb1
Stats:     252 lines in 42 files changed: 0 ins; 252 del; 0 mod

8252721: Nested classes in Swing APIs rely on default constructors

Reviewed-by: prr

-------------

PR: https://git.openjdk.java.net/jdk/pull/72


More information about the swing-dev mailing list