Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Automated detection of constructors that contain invocations of overridable methods appears to be straightforward.

Related

...

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Related Guidelines

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="7c7d62cc40b8de1a-00a639ab-48ed4fd4-a1c7a425-6fc31a0ce921e8a083177c3d"><ac:plain-text-body><![CDATA[

[ISO/IEC TR 24772:2010

http://www.aitcnet.org/isai/]

"Inheritance [RIP]"

]]></ac:plain-text-body></ac:structured-macro>

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e03384d54a5144f8-65ca3943-4b8f4eea-ada4b302-189fd9b471652e8faa89eee5"><ac:plain-text-body><![CDATA[

[[ESA 2005

AA. Bibliography#ESA 05]]

Rule 62: Do not call non-final methods from within a constructor

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2d8f193a9e504fd3-29b56933-4af64edd-970285e8-f69224192ff55720dfd6816e"><ac:plain-text-body><![CDATA[

[[JLS 2005

AA. Bibliography#JLS 05]]

[Chapter 8, Classes

http://java.sun.com/docs/books/jls/third_edition/html/classes.html], 12.5 "Creation of New Class Instances"

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="be2a16249bbc4b29-5542734a-4d1f42aa-b2e9ab25-87b52c157b0abab00be7d8e1"><ac:plain-text-body><![CDATA[

[[Rogue 2000

AA. Bibliography#Rogue 00]] Rule 81:

Do not call non-final methods from within a constructor

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="cabf583d75bac38c-7b6ebd73-41654892-a929a124-5db9b950c32754de36f4d8f9"><ac:plain-text-body><![CDATA[

[[SCG 2009

AA. Bibliography#SCG 09]]

Guideline 4-4 Prevent constructors from calling methods that can be overridden

]]></ac:plain-text-body></ac:structured-macro>

...