Java Keywords and Identifier Naming Rules Quick Reference

This is a quick summary of important keywords and reserved words that you should not be using as an identifier. Identifier is a name given to any class, method, interface, enum or variable that we create. There is also added quick notes section with few important keywords that may be useful for exam or interview preparations.

 

Keywords in Java

  • class, interface, enum(added in 5.0), package, import, new, this,  super, return, void.

  • implements, extends, instanceof.

  • abstract, final, static, synchronized, volatile, transient strictfp( added in 1.2), native.

  • private, protected, public.

  • boolean,  double, byte, int, short,  char, long, float   

  • for, while, do, if, else, continue, break, switch, case, default.           

  • throw, throws, assert(in 1.4), try, catch, finally.

  • goto(not used) , const(not used)

 

Note: True, false and null are literals and not keywords. But similar to keywords and reserved words, we cannot use them as identifiers. Some exam questions may consider them as keywords.

Tip: All keywords are lower case.

 

Quick note on important keywords

class

  • A top level class declaration can have only have final, abstract and public as modifiers. It may also not specify an access modifier, which is called a default access. Also, abstract and final cannot come together.

  • A nested class (inner class) can be declared private or protected as well.

abstract

  • can be used for classes and methods, not for methods.

  • cannot be used for methods that are static, final or private,  as methods with these modifiers cannot be overridden

  • Keywords abstract and final cannot come together in a declaration. Methods of a final class cannot be abstract.

boolean

  • A java primitive type that can accept either true or false as values

  • It cannot be converted to any other numeric type.

final

  • final keyword to a class means it cannot be sub classed.

  • final keyword to a method indicates that method cannot be overridden (if instance method) or hidden (if static method).

  • final keyword to a variable indicates that its value cannot be changed. In case of reference types, you can change the state of an object referred to by the variable, but cannot re-assign the variable with another object.

  • final variables need to be explicitely initialized in a initialization block or constructor, or on the line it is declared.

  • Keywords abstract and final cannot come together in a declaration.

native

  • Used to refer to methods that are implemented in a language other than java.

  • You cannot have abstract and native together.

synchronized

  • Applied to a method or a statement block to denote that the code within can be accessed by only one thread at a time.

transient

  • Applied to a variable that should not be serialized when the class is serialized.

volatile

  • Represents a variable that may be modified asynchronously by more than one thread. All threads see the same value for the variable

Note: For notes on other keywords, refer to the respective sections in the beginning Java book.

 

Identifier naming rules

Identifier is a name given to any class, method, interface, enum or variable that we create.

  1. Are case-sensitive

  2. Can only be composed of  Letters, numbers, the underscore (_) and the dollar sign ($)

  3. May only begin with a letter, the underscore or a dollar sign

  4. A class name can also come as an identifier. E.g. we can define a variable with the name as String, ArrayList etc.

  5. There is no restriction on the length of an identifier. E.g. iLikeVeryVeryVeryVeryVeryLongIdentifiersThatDontMakeAnySenseAtAll is a valid identifier.

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)