Incident Report 9079511: Java Language Enhancement: Disallow access to static members via object references
Amazing Code
amazingcodewithus at gmail.com
Fri Dec 5 13:35:20 UTC 2025
I am writing to propose a language enhancement regarding the handling of
static member access in Java.
*Issue*
Java currently permits static fields and methods to be accessed through
object references, despite static members belonging strictly to the class.
This behavior is often misleading and can create confusion, especially in
large codebases or among less-experienced developers.
Example:
MyClass obj = new MyClass();
obj.staticMethod(); // Currently allowed, but confusing
*Proposed Enhancement*
I request consideration of a change that *disallows access to static
members via object references*, enforcing access exclusively through the
class name. This would convert the current warning into a *compile-time
error*.
*Rationale*
-
Prevents misconceptions about instance vs. class-level behavior
-
Improves code clarity and consistency
-
Reduces maintenance complexity in enterprise applications
-
Encourages best practices already recommended by the community
*Suggested Requirements*
1.
Compiler should produce an error when static members are accessed
through object references.
2.
Error message should explicitly guide developers to use class-based
access.
3.
Rule should apply to static fields, static methods, and static nested
types.
4.
Optionally, provide a compiler flag for backward compatibility during
migration.
*Conclusion*
Restricting object-based access to static members would strengthen language
clarity and help eliminate a common source of misunderstanding. I kindly
request your consideration of this enhancement for future Java releases.
Thank you for your time and continued work on the Java platform.
Sincerely,
*Kamlesh Kohli*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jls-jvms-spec-comments/attachments/20251205/0d99e7c7/attachment-0001.htm>
More information about the jls-jvms-spec-comments
mailing list