Skip to main content
assistive.skiplink.to.breadcrumbs
assistive.skiplink.to.header.menu
assistive.skiplink.to.action.menu
assistive.skiplink.to.quick.search
Log in
Confluence
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
Available Gadgets
About Confluence
Log in
SEI CERT Oracle Coding Standard for Java
Pages
Boards
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
Sep 13, 2007
Last Changed by:
David Svoboda
Mar 15, 2022
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
Mar 15, 2022 09:46
David Svoboda
View Changes
Mar 11, 2020 12:55
David Svoboda
View Changes
Nov 21, 2018 14:11
Derek Leung
View Changes
Nov 20, 2018 14:34
Derek Leung
View Changes
Nov 20, 2018 13:50
Derek Leung
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": 73, "requestCorrelationId": "923ea80d3e5b1371"}