List of Java keywords: Difference between revisions

Content deleted Content added
m grammar (pluralization)
wrap keywords in <code></code>
Line 5:
The following is a list of the keywords in Java, along with a brief description of their functions:<ref name="keywords" />
 
;<code>[[Abstract class|abstract]]</code>
: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 [[Subclass (computer science)|subclasses]]. All methods declared in an <code>interface</code> are implicitly <code>abstract</code>.
 
;<code>[[Assertion (computing)|assert]]</code> (as of J2SE 1.4)
:A keyword used to make the assumed value of a condition explicit. If the condition is not true, an {{Javadoc:SE|java/lang|AssertionError}} is thrown.
 
;<code>[[Boolean datatype#Java|boolean]]</code>
:Refers to an expression or [[variable#Computer Programming|variable]] that can have only a true or false value. Java provides the <code>boolean</code> type and the literal values <code>true</code> and <code>false</code>.
 
;<code>[[Switch statement#Java|break]]</code>
:Used to resume program execution at the statement immediately following the current enclosing block or statement. If followed by a [[Label (programming language)|label]], the program resumes execution at the statement immediately following the enclosing labeled statement or block.
 
;<code>[[byte]]</code>
:An 8-[[bit]] integer. A keyword used to [[Declaration (computer science)|declare]] an expression, method return value, or variable of type byte.
 
;<code>[[Switch statement#Java|case]]</code>
:Defines a group of statements to execute if the specified value matches the value defined by the enclosing <code>switch</code> statement.
 
;<code>[[Exception handling syntax#Java|catch]]</code>
:Defines an [[exception handler]]&mdash;a group of statements that are executed if an exception is thrown in the block defined by a preceding <code>try</code> keyword. The code is executed only if the class of the thrown exception is assignment compatible with the exception class declared by the <code>catch</code> clause.
 
;<code>[[Character (computing)|char]]</code>
:A 16-bit [[Unicode]] character. A Java keyword used to declare an expression, method return value, or variable of type character.
 
;<code>[[Class (computer science)#Java|class]]</code>
:A type that defines the implementation of a particular kind of object. A class definition defines [[Object (computer science)|instance]] and class fields, [[Method (computer science)|methods]], and [[inner class]]es as well as specifying the [[Interface (computer science)|interfaces]] the class implements and the immediate [[Superclass (computer science)|superclass]] of the class. If the superclass is not explicitly specified, the superclass is implicitly {{Javadoc:SE|java/lang|Object}}.
 
;<code>[[Variable#Constant|const]]</code> (reserved without use)
:This keyword is '''not used''' by current versions of the Java programming language.
 
;<code>[[continue (Java)|continue]]</code>
:Used to resume program execution at the end of the current loop body. If followed by a label, <code>continue</code> resumes execution at the end of the enclosing labeled loop body.
 
;<code>[[Switch statement#Java|default]]</code>
:Defines a group of statements to begin executing if the value defined by the enclosing <code>switch</code> statement does not match any value specified by a <code>case</code> keyword in the <code>switch</code> statement.
 
;<code>[[do while loop#Java|do]]</code>
:Used to declare a loop that will [[Iteration|iterate]] a block of statements. The loop's exit condition is specified with the <code>while</code> keyword. The loop will execute once before evaluating the exit condition.
 
;<code>[[Double precision|double]]</code>
:A 64-bit [[Floating Point|floating point value]]. A Java keyword used to declare an expression, method return value, or variable of type double-precision floating point number.
 
;<code>[[Conditional statement|else]]</code>
:Used to define a statement or block of statements that are executed in the case that the test condition specified by the <code>if</code> keyword evaluates to false.
 
;<code>[[Enumerated type|enum]]</code> (as of J2SE 5.0)
:A Java keyword used to declare an [[enumerated type]]. Enumerations extend the base class {{Javadoc:SE|java/lang|Enum}}.
 
;<code>[[Inheritance (object-oriented programming)#Java|extends]]</code>
: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.
:Also used to specify an upper bound on a type parameter in Generics.
 
;<code>[[final (Java)|final]]</code>
: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 <code>final</code>.
 
;<code>[[Exception handling syntax#Java|finally]]</code>
:Used to define a block of statements for a block defined previously by the <code>try</code> keyword. The <code>finally</code> block is executed after execution exits the <code>try</code> block and any associated <code>catch</code> clauses regardless of whether an exception was thrown or caught, or execution left method in the middle of the <code>try</code> or <code>catch</code> blocks using the <code>return</code> keyword.
 
;<code>[[Floating point|float]]</code>
:A 32-bit floating point value. A Java keyword used to declare an expression, method return value, or variable of type single-precision floating point number.
 
;<code>[[for loop#Java|for]]</code>
:Used to define a loop that reiterates statements. The <code>for</code> 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 <code>for</code> loop specifies an {{Javadoc:SE|java/lang|Iterable}} object where each iteration of the loop processes one of its contained elements.
 
;<code>[[GOTO|goto]] (reserved without use)</code>
:This keyword is '''not used''' by current versions of the Java programming language.
 
;<code>[[Conditional statement|if]]</code>
: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 <code>else</code> keyword, then the <code>else</code> block is executed if the test evaluates to false.
 
;<code>implements</code>
:Included in a class declaration to specify one or more [[Interface (Java)|interfaces]] that are implemented by the current class. A class inherits the types and abstract methods declared by the interfaces.
 
;<code>import</code>
:Used at the beginning of a [[source file]] to specify classes or entire [[Java package]]s to be referred to later without including their package names in the reference. Since J2SE 5.0, <code>import</code> statements can import <code>static</code> members of a class.
 
;<code>instanceof</code>
:A [[operator (programming)|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 <code>instanceof</code> operator evaluates to true if and only if the runtime type of the object is assignment compatible with the class or interface.
 
;<code>[[Integer (computer science)|int]]</code>
:A 32-bit integer value. A Java keyword used to declare an expression, method return value, or variable of type integer.
 
;<code>[[Interface (Java)|interface]]</code>
:Used to declare a special type of class that only contains abstract methods, constant (<code>static final</code>) fields and <code>static</code> interfaces. It can later be implemented by classes that declare the interface with the <code>implements</code> keyword.
 
;<code>[[long integer|long]]</code>
:A 64-bit integer value. A Java keyword used to declare an expression, method return value, or variable of type long integer.
 
;<code>native</code>
:Used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.
 
;<code>[[Object lifetime#Java|new]]</code>
:Used to create an instance of a class or array.
 
;<code>[[Java package|package]]</code>
:A group of types. Packages are declared with the <code>package</code> keyword.
 
;<code>[[Java_syntax#Class_member_access|private]]</code>
:An access modifier used in a method, field or inner class declaration. It signifies that the member can only be accessed by other elements of its class.
 
;<code>[[Java_syntax#Class_member_access|protected]]</code>
:An access modifier used in a method, field or inner class declaration. It signifies that the member can only be accessed by elements residing in its class, subclasses, or classes in the same package.
 
;<code>[[Java_syntax#Class_member_access|public]]</code>
: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 <code>interface</code> are implicitly <code>public</code>.
 
;<code>[[Method (computer science)|return]]</code>
: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.
 
;<code>[[short integer|short]]</code>
:A 16-bit integer value. Used to declare an expression, method return value, or variable of type short integer.
 
;<code>[[Static variable|static]]</code>
: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. <code>static</code> also is used to define a method as a class method. Class methods are [[Name binding|bound]] to the class instead of to a specific instance, and can only operate on class fields. (Classes and interfaces declared as <code>static</code> members of another class or interface are actually top-level classes and are ''not'' inner classes.)
 
;<code>[[strictfp]]</code> (as of J2SE 1.2)
:A Java keyword used to restrict the precision and rounding of floating point calculations to ensure portability.
 
;<code>[[Inheritance (object-oriented programming)#Java|super]]</code>
:Used to access members of a class inherited by the class in which it appears. Allows a subclass to access [[Method overriding (programming)|overridden]] methods and hidden members of its superclass. The <code>super</code> keyword is also used to forward a call from a constructor to a constructor in the superclass.
:Also used to specify a lower bound on a type parameter in Generics.
 
;<code>[[Switch statement#Java|switch]]</code>
:Used to evaluate a variable that can later be matched with a value specified by the <code>case</code> keyword in order to execute a group of statements.
 
;<code>[[Mutual exclusion|synchronized]]</code>
:Used in the declaration of a method or code block to acquire the [[mutex]] lock for an object while the current [[thread (computer science)|thread]] executes the code. For static methods, the object locked is the class' <code>Class</code>. 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''.
 
;<code>[[this (Java)|this]]</code>
:Used to represent an instance of the class in which it appears. <code>this</code> can be used to access class members and as a reference to the current instance. The <code>this</code> keyword is also used to forward a call from one constructor in a class to another constructor in the same class.
 
;<code>[[Exception handling syntax#Java|throw]]</code>
:Causes the declared exception instance to be thrown. This causes execution to continue with the first enclosing exception handler declared by the <code>catch</code> 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.
 
;<code>[[Exception handling syntax#Java|throws]]</code>
: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 <code>RuntimeException</code> must be declared using the <code>throws</code> keyword.
 
;<code>[[transient (computer programming)|transient]]</code>
:Declares that an instance field is not part of the default [[Serialization|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.
 
;<code>[[Exception handling syntax#Java|try]]</code>
:Defines a block of statements that have exception handling. If an exception is thrown inside the <code>try</code> block, an optional <code>catch</code> block can handle declared exception types. Also, an optional <code>finally</code> block can be declared that will be executed when execution exits the <code>try</code> block and <code>catch</code> clauses, regardless of whether an exception is thrown or not. A <code>try</code> block must have at least one <code>catch</code> clause or a <code>finally</code> block.
 
;<code>[[void return type|void]]</code>
:Used in method declarations to specify that the method does not return any value. <code>void</code> can also be used as a nonfunctional statement.
 
;<code>[[Volatile variable|volatile]]</code>
:Used in field declarations to specify that the variable is modified [[asynchronous]]ly by concurrently running threads. Methods, classes and interfaces thus cannot be declared ''volatile''.
 
;<code>[[do while loop#Java|while]]</code>
: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 <code>while</code> appears before the body of the loop, the exit condition is evaluated before the first iteration. If <code>while</code> appears after the loop body then the <code>do</code> keyword designates the beginning of the loop body which is executed once before evaluating the exit condition.
 
==[[Reserved word]]s for [[literal]] values==
 
;<code>[[Truth value|false]]</code>
:A boolean literal value.
 
;<code>[[null (computer programming)|null]]</code>
:A reference literal value.
 
;<code>[[Truth value|true]]</code>
:A boolean literal value.