1 Introduction Java Guide
This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein.
Like other programming style guides, the issues covered span not only aesthetic issues of formatting, but other types of conventions or coding standards as well. However, this document focuses primarily on the hard-and-fast rules that we follow universally, and avoids giving advice that isn't clearly enforceable (whether by human or tool).
1.1 Terminology notes Java Guide
In this document, unless otherwise clarified:
- The term class is used inclusively to mean an “ordinary” class, enum class, interface or annotation type (
- The term comment always refers to implementation comments. We do not use the phrase “documentation comments”, instead using the common term “Javadoc.”
Other “terminology notes” will appear occasionally throughout the document.
1.2 Guide notes Java Guide
Example code in this document is non-normative. That is, while the examples are in Google Style, they may not illustrate the only stylish way to represent the code. Optional formatting choices made in examples should not be enforced as rules.
2 Source file basics Java Guide
2.1 File name Java Guide
The source file name consists of the case-sensitive name of the top-level class it contains, plus the
2.2 File encoding: UTF-8 Java Guide
Source files are encoded in UTF-8.
2.3 Special characters Java Guide
2.3.1 Whitespace characters Java Guide
Aside from the line terminator sequence, the ASCII horizontal space character (0x20) is the only whitespace character that appears anywhere in a source file. This implies that:
- All other whitespace characters in string and character literals are escaped.
- Tab characters are not used for indentation.
2.3.2 Special escape sequences Java Guide
For any character that has a special escape sequence (
\), that sequence is used rather than the corresponding octal (e.g.