<Swing Dev> RFR: 8252721: Nested classes in Swing APIs rely on default constructors [v2]

Prasanta Sadhukhan psadhukhan at openjdk.java.net
Wed Sep 9 05:40:30 UTC 2020


> 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

Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:

  Modify access modifier to protected for protected classes

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/72/files
  - new: https://git.openjdk.java.net/jdk/pull/72/files/a4f28fa2..af8c4336

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=72&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=72&range=00-01

  Stats: 100 lines in 41 files changed: 0 ins; 0 del; 100 mod
  Patch: https://git.openjdk.java.net/jdk/pull/72.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/72/head:pull/72

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


More information about the swing-dev mailing list