Log in
Confluence
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
About Confluence
Log in
SEI CERT Oracle Coding Standard for Java
Edit space details
Pages
Space shortcuts
Dashboard
Secure Coding Home
Android
C
C++
Java
Perl
Page tree
Browse pages
Configure
Space tools
View Page
A
t
tachments (0)
Page History
Page Information
View in Hierarchy
View Source
Export to PDF
Export to Word
Pages
…
SEI CERT Oracle Coding Standard for Java
2 Rules
Rule 05. Object Orientation (OBJ)
Page Information
Title:
Rule 05. Object Orientation (OBJ)
Author:
Fred Long
Sept 13, 2007
Last Changed by:
David Svoboda
Aug 07, 2025
Tiny Link:
(useful for email)
https://wiki.sei.cmu.edu/confluence/x/IzdGBQ
Export As:
Word
·
PDF
Incoming Links
SEI CERT Oracle Coding Standard for Java (7)
Page:
OBJ07-J. Sensitive classes must not let themselves be copied
Page:
OBJ10-J. Do not use public static nonfinal fields
Page:
OBJ01-J. Limit accessibility of fields
Page:
OBJ03-J. Prevent heap pollution
Page:
OBJ08-J. Do not expose private members of an outer class from within a nested class
Page:
OBJ09-J. Compare classes and not class names
Page:
OBJ05-J. Do not return references to private mutable class members
Hierarchy
Parent Page
Page:
2 Rules
Children (14)
Page:
OBJ01-J. Limit accessibility of fields
Page:
OBJ02-J. Preserve dependencies in subclasses when changing superclasses
Page:
OBJ03-J. Prevent heap pollution
Page:
OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code
Page:
OBJ05-J. Do not return references to private mutable class members
Page:
OBJ06-J. Defensively copy mutable inputs and mutable internal components
Page:
OBJ07-J. Sensitive classes must not let themselves be copied
Page:
OBJ08-J. Do not expose private members of an outer class from within a nested class
Page:
OBJ09-J. Compare classes and not class names
Page:
OBJ10-J. Do not use public static nonfinal fields
Show all...
Page:
OBJ11-J. Be wary of letting constructors throw exceptions
Page:
OBJ12-J. Respect object-based annotations
Page:
OBJ13-J. Ensure that references to mutable objects are not exposed
Page:
OBJ14-J. Do not use an object that has been freed.
Hide...
Labels
Global Labels (3)
rule-list
obj
section
Recent Changes
Time
Editor
Aug 07, 2025 08:17
David Svoboda
View Changes
Aug 06, 2025 18:07
David Svoboda
View Changes
Aug 06, 2025 17:26
David Svoboda
View Changes
Aug 06, 2025 17:21
David Svoboda
View Changes
REM cost reform
Aug 06, 2025 17:20
David Svoboda
DetectableRepairableNoNo
View Page History
Outgoing Links
External Links (3)
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
SEI CERT Oracle Coding Standard for Java (1)
Home page:
SEI CERT Oracle Coding Standard for Java
Overview
Content Tools
{"serverDuration": 63, "requestCorrelationId": "d424744ae0dc9da1"}