Java programming language is having 57 reserved words that’s called as keyword. These keyword can not be used as name for variables, methods, classes, interfaces or as any other identifier.
Note : Out of these 57 keywords only 55 are used by programmers other 2 (const and go) are not used.
Primitive Type Keyword
Primitive types are most basic data types available in Java language which are having predefined fixed size, range , default values and no methods. These types serve as building blocks of data manipulation in java language.
Primitive Type: boolean, byte, char, short, int, long, float and double.
Literal Value Keywords
A literal is the source code representation of a fixed value and assigned directly to variable without requiring computation.
Literal assigned to primitive type variable as it’s not required new keyword. Primitive types are special data types built into the language; they are not objects created from a class. Below are some literal values for Boolean type (true and false) and Non primitive objects (null).
- true : A boolean literal value.
- false : A Boolean literal value.
- null : A reference literal value.
Control Flow Keywords
Generally statements in java code executed from top to bottom, in the same order as they appears. Control flow statements change or break the flow of execution by implementing decision making, looping and branching of program to execute particular blocks of code based on certain conditions.
Control Flow statement categories as below:
- Decision-making statements : if-then, if-then-else, switch-case
- Looping statements : for, while, do-while
- Branching statements : break, continue, return
See also :
- Control Flow Statements with examples
|try||The try block governs the statements that are enclosed within it and defines the scope of exception handler associated with it. Try block follows catch or finally or both.|
|catch||The catch block is used to handle the exception. It must be preceded by try block which means we can’t use catch block alone. It can be followed by finally block later.|
|finally||When an exception is raised, the statement in the try block is ignored, some times it is necessary to process certain statements irrespective of wheather an exception is raised or not, the finally block is used for this purpose.|
|throw||The throw class is used to call exception explicitly. You may want to throw an exception when the user enters a wrong login ID and password, you can use throw statement to do so. The throw statement takes an single argument, which is an Object of exception class.|
|throws||The throws statement species the list of exception that has thrown by a method. If a method is capable of raising an exception that is does not handle, it must specify the exception has to be handle by the calling method, this is done by using the throw statement.|
See Also :
- Java: Exception Handling Tutorial
- Java Built-in Exceptions Solutions
- JDBC : Exception and Warning Handling
- Java Custom Exception
- Java Exception Propagation
- Chained Exception
- Exception handling with method overriding
Java access modifiers helps to restrict the scope of a class, constructor , variable , method or data member. There are four types of access modifiers available in java:
- default (No Keyword Required)
Below are the scope of each access modifiers:
|Same Package Subclass||Yes||No||Yes||Yes|
|Same Package non Sub Class||Yes||No||Yes||Yes|
|Different Package Sub Class||No||No||Yes||Yes|
|Different Package Non Sub Class||No||No||No||Yes|
See Also :
Non Access Modifiers
Below are some keywords that use as non-access modifiers to achieve many other functionalities:
|static||Used to declare a field, method, or inner class as a class field.
Class variables and methods can be accessed using the class name followed by a dot and the name of the variable or method.
|final||Used to declare an entity that can not be changed or nor derived later.
|abstract||A abstract keyword is used with methods and classes to provide abstraction in Java.
|synchronized||The synchronized keyword used to declare a method or code block to acquire mutex lock for an object so that only one thread access at a time. The mutex lock is automatically released when execution exits the synchronized code.
|transient||An instance variable is marked transient to indicate the JVM to skip the particular variable when serializing the object containing it. When object deserialized transient values will initialize with default value.|
|volatile||A volatile keyword used in field declarations to specify that the variable is modified asynchronously by concurrently running threads. Volatile variable cached in main memory so that synchronizes value between threads.
|strictfp||java strictfp keyword is used to restricting floating-point and round of calculations (float and double) and ensuring same result on every platform while performing operations with floating point variable.
See Also: strictfp modifier uses and example
Class , objects and methods related keywords
Java package is a group of similar classes and interfaces that used as namespace to resolve conflict between same name class. Packages are declared with the package keyword.
A class is template 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 super class of the class.
- If the super class is not explicitly specified, the super class is implicitly Object.
- The class keyword can also be used in the form Class.class to get a Class object without needing an instance of that class. For example, String.class can be used instead of doing new String().getClass().
An interface is used to declare a special type of class that provide abstraction.
- An interface only contains abstract or default methods, constant (static final) fields and static interfaces.
- It can later be implemented by classes that declare the interface with the implements keyword.
- As multiple inheritance is not allowed in Java, interfaces are used to circumvent it. An interface can be defined within another interface.
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.
- import statements can import static members of a class. (java 5+)
- Used in a class declaration to specify the super class.
- Used in an interface declaration to specify one or more super interfaces.
- Class X extends class Y to add functionality, either by adding fields or methods to class Y, or by overriding methods of class Y. Class X is said to be a subclass of class Y.
- An interface Z extends one or more interfaces by adding methods. Interface Z is said to be a sub interface of the interfaces it extends.
- Also used to specify an upper bound on a type parameter in Generics.
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.
- Used to create an instance of a class or array object.
- It is used to say completely new object need to create. (String Pool)
Inheritance basically used to achieve dynamic binding or run-time polymorphism or re-usability in java.
- 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 super class.
- The super keyword is also used to forward a call from a constructor to a constructor in the super class.
- Also used to specify a lower bound on a type parameter in Generics.
Used to represent an instance of the class in which it appears.
- The 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
Used to finish the execution of a method. It can be followed by a value required by the method definition that is returned to the caller.
The void keyword is used to declare that a method does not return any value.
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 in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.
A Java keyword used to declare an enumerated type. Enumerations extend the base class Enum. This keyword available in java 5 and later.
Assert describes a predicate (a true–false statement) placed in a Java program to indicate that the developer thinks that the predicate is always true at that place. If an assertion evaluates to false at run-time, an assertion failure results, which typically causes execution to abort. Optionally enable by ClassLoader method. This keyword available in java 4 and later.
The module keyword is used to declare a module inside of a Java application. This keyword is only available in Java 9 and later.
Used to specify the required libraries inside of a module. This keyword is only available in Java 9 and later.
Used in modular java to export a package with a module. This keyword is only available in Java 9 and later.