Used in a class declaration to specify that a class is not to be
instantiated, but rather extended by other classes. Used in a method
declaration to declare a method without providing the implementation.
An abstract class can have abstract methods that are not implemented in
the abstract class, but in subclasses. All methods declared in an interface are implicitly abstract.

Used to resume program execution at the statement immediately
following the current enclosing block or statement. If followed by a label, the program resumes execution at the statement immediately following the enclosing labeled statement or block.

Defines an exception handler—a group of statements that are executed if an exception is thrown in the block defined by a preceding try
keyword. The code is executed only if the class of the thrown exception
is assignment compatible with the exception class declared by the catch clause.

A type that defines the implementation of a particular kind of object. A class definition defines instance and class fields, methods, and inner classes as well as specifying the interfaces the class implements and the immediate superclass of the class. If the superclass is not explicitly specified, the superclass is implicitly Object.

Used in a class declaration to specify the superclass; used in an
interface declaration to specify one or more superinterfaces. Class X
extends class Y to add functionality, either by adding fields or
methods to class Y, or by overriding methods of class Y. An interface Z
extends one or more interfaces by adding methods. Class X is said to be
a subclass of class Y; Interface Z is said to be a subinterface of the
interfaces it extends.

Define an entity once that cannot be changed nor derived from
later. More specifically: a final class cannot be subclassed, a final
method cannot be overridden, and a final variable can occur at most
once as a left-hand expression. All methods in a final class are
implicitly final.

Used to define a block of statements for a block defined previously by the try keyword. The finally block is executed after execution exits the try block and any associated catch clauses regardless of whether an exception was thrown or caught, or execution left method in the middle of the try or catch blocks using the return keyword.

Used to define a loop that reiterates statements. The for
loop specifies the statements to be executed, exit condition, and
initialization variables for the loop. The exit condition is evaluated
before the first iteration of the loop. Since J2SE 5.0, a form of the for loop specifies an Iterable object where each iteration of the loop processes one of its contained elements.

Used to conduct a conditional test and execute a block of
statements if the test evaluates to true. If an optional block is
defined with the else keyword, then the else block is executed if the test evaluates to false.

implements

Included in a class declaration to specify one or more interfaces that are implemented by the current class. A class inherits the types and abstract methods declared by the interfaces.

import

Used at the beginning of a source file to specify classes or entire Java packages to be referred to later without including their package names in the reference. Since J2SE 5.0, import statements can import static members of a class.

instanceof

A binary operator
that takes an object reference as its first operand and a class or
interface as its second operand and produces a boolean result. The instanceof operator evaluates to true if and only if the runtime type of the object is assignment compatible with the class or interface.

Used to declare a special type of class that only contains abstract methods, constant (static final) fields and static interfaces. It can later be implemented by classes that declare the interface with the implements keyword.

An access modifier used in a class, method or field declaration. It
signifies that the class, method or variable can be accessed by
elements residing in other classes or packages. All members declared in
an interface are implicitly public.

Used to declare a field, method or inner class as a class field.
Classes maintain one copy of class fields regardless of how many
instances exist of that class. static also is used to define a method as a class method. Class methods are bound to the class instead of to a specific instance, and can only operate on class fields. (Classes and interfaces declared as static members of another class or interface are actually top-level classes and are not inner classes.)

Used to access members of a class inherited by the class in which it appears. Allows a subclass to access overridden methods and hidden members of its superclass. The super keyword is also used to forward a call from a constructor to a constructor in the superclass.

Used in the declaration of a method or code block to acquire the mutex lock for an object while the current thread executes the code. For static methods, the object locked is the class’ Class.
Guarantees that at most one thread at a time operating on the same
object executes that code. The mutex lock is automatically released
when execution exits the synchronized code. Fields, classes and
interfaces cannot be declared as synchronized.

Used to represent an instance of the class in which it appears. this can be used to access class members and as a reference to the current instance. The this keyword is also used to forward a call from one constructor in a class to another constructor in the same class.

Causes the declared exception instance to be thrown. This causes
execution to continue with the first enclosing exception handler
declared by the catch keyword to handle an assignment
compatible exception type. If no such exception handler is found in the
current method, then the method returns and the process is repeated in
the calling method. If no exception handler is found in any method call
on the stack, then the exception is passed to the thread’s uncaught
exception handler.

Used in method declarations to specify which exceptions are not
handled within the method but rather passed to the next higher level of
the program. All uncaught exceptions in a method that are not instances
of RuntimeException must be declared using the throws keyword.

Declares that an instance field is not part of the default serialized
form of an object. When an object is serialized, only the values of its
non-transient instance fields are included in the default serial
representation. When an object is deserialized, transient fields are
initialized only to their default value.

Defines a block of statements that have exception handling. If an exception is thrown inside the try block, an optional catch block can handle declared exception types. Also, an optional finally block can be declared that will be executed when execution exits the try block and catch clauses, regardless of whether an exception is thrown or not. A try block must have at least one catch clause or a finally block.

Used to declare a loop that iterates a block of statements. The
loop’s exit condition is specified as part of the while statement. If while appears before the body of the loop, the exit condition is evaluated before the first iteration. If while appears after the loop body then the do keyword designates the beginning of the loop body which is executed once before evaluating the exit condition.