It looks to have been an oversight that `final` was omitted. The fields are never assigned after initialization. `final` leads to shorter bytecode.
------------- Commit messages: - In `Pattern.Bound`, make some constants `static final`. Changes: https://git.openjdk.org/jdk/pull/15967/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15967&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8317264 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jdk/pull/15967.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15967/head:pull/15967 PR: https://git.openjdk.org/jdk/pull/15967