...
In the presence of multiple threads, non-final public static fields can be modified in inconsistent ways. See rule TSM01-J. Do not let the ( this ) reference escape during object construction for an example.
| Wiki Markup |
|---|
Improper use of public static fields can also result in type-safety issues. For example, untrusted code can supply an unexpected subtype with malicious methods when the variable is defined to be of a more general type, such as {{java.lang.Object}} \[[Gong 2003|AA. Bibliography#Gong 03]\]. As a result, classes must not contain nonfinal public static fields. |
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0ea47e0cf8f7482c-1c8402dc-40a34728-adddaa87-8d304e9484a4d7a739fc4671"><ac:plain-text-body><![CDATA[ | [[FT 2008 | AA. Bibliography#FT 08]] | Function Table, Class Function Table | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a4d0d4a7b0c2720e-6862a864-46874d76-a7e19bc0-0c8389d13add6b0216f6b208"><ac:plain-text-body><![CDATA[ | [[Gong 2003 | AA. Bibliography#Gong 03]] | 9.3, Static Fields | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="9b494f2e099f84e1-6533805a-476c4302-9f829865-076883236da80bda888ba346"><ac:plain-text-body><![CDATA[ | [[Nisewanger 2007 | AA. Bibliography#Nisewanger 07]] | Antipattern 5, Misusing Public Static Variables | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="90955375625a7f8e-a3c0fee8-461f47b7-a2e4a942-e6e83c5db659be0625527f94"><ac:plain-text-body><![CDATA[ | [[Sterbenz 2006 | AA. Bibliography#Sterbenz 06]] | Antipattern 5, Misusing Public Static Variables | ]]></ac:plain-text-body></ac:structured-macro> |
...