Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

List of Java keywords

From Wikipedia, the free encyclopedia

A snippet of Java code with keywords highlighted in blue and bold font

In theJava programming language, akeyword is any one of 68reserved words[1] that have a predefined meaning in the language. Because of this, programmers cannot use keywords in some contexts, such as names forvariables,methods,classes, or as any otheridentifier.[2] Of these 68 keywords, 17 of them are only contextually reserved, and can sometimes be used as an identifier, unlike standard reserved words. Due to their special functions in the language, mostintegrated development environments for Java usesyntax highlighting to display keywords in a different colour for easy identification.

Reserved keywords

[edit]

The following words are reserved keywords and cannot be used as identifiers under any circumstances.

_
Added in Java 9, the underscore has become a keyword and cannot be used as a variable name anymore.[3]
abstract
A method with no definition must be declared as abstract and the class containing it must be declared as abstract. Abstract classes cannot be instantiated. Abstract methods must be implemented in the sub classes. The abstract keyword cannot be used with variables or constructors. Note that an abstract class isn't required to have an abstract method at all.
assert (added inJ2SE 1.4)[4]
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. Assertions are disabled at runtime by default, but can be enabled through a command-line option or programmatically through a method on the class loader.
boolean
Defines a boolean variable for the values "true" or "false" only. By default, the value of boolean primitive type is false. This keyword is also used to declare that a method returns a value of the primitive typeboolean. In most other languages, the Boolean type is usually simply calledbool.
break
Used to end the execution in the current loop body.
Used to break out of aswitch block.
byte
Thebyte keyword is used to declare a field that can hold an 8-bit signedtwo's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive typebyte.[7][8]
case
A statement in theswitch block can be labeled with one or morecase ordefault labels. Theswitch statement evaluates its expression, then executes all statements that follow the matchingcase label; seeswitch.[9][10]
catch
Used in conjunction with atry block and an optionalfinally block. The statements in thecatch block specify what to do if a specific type of exception is thrown by thetry block.
char
Defines a character variable capable of holding any character of the Java source file's character set.
class
A type that defines the implementation of a particular kind of object. A class definition definesinstance and classfields,methods, andinner classes as well as specifying theinterfaces the class implements and the immediatesuperclass of the class. If the superclass is not explicitly specified, the superclass is implicitlyObject. The class keyword can also be used in the formClass.class to get aClass object without needing an instance of that class. For example,String.class can be used instead of doingnewString().getClass().
continue
Used to resume program execution at the end of the current loop body. If followed by a label,continue resumes execution at the end of the enclosing labeled loop body.
default
Thedefault keyword can optionally be used in aswitch statement to label a block of statements to be executed if nocase matches the specified value; seeswitch.[9][10] Alternatively, thedefault keyword can also be used to declare default values in aJava annotation. From Java 8 onwards, thedefault keyword can be used to allow an interface to provide an implementation of a method.
do
Thedo keyword is used in conjunction withwhile to create ado-while loop, which executes a block of statements associated with the loop and then tests a boolean expression associated with thewhile. If the expression evaluates totrue, the block is executed again; this continues until the expression evaluates tofalse.[11][12]
double
Thedouble keyword is used to declare a variable that can hold a 64-bitdouble precisionIEEE 754floating-point number.[5][6] This keyword is also used to declare that a method returns a value of the primitive typedouble.[7][8]
else
Theelse keyword is used in conjunction withif to create anif-else statement, which tests aboolean expression; if the expression evaluates totrue, the block of statements associated with theif are evaluated; if it evaluates tofalse, the block of statements associated with theelse are evaluated.[13][14]
enum (added inJ2SE 5.0)[4]
A Java keyword used to declare anenumerated type. Enumerations extend the base classEnum.
extends
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.
final
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 on an executed command. All methods in a final class are implicitlyfinal.
finally
Used to define a block of statements for a block defined previously by thetry keyword. Thefinally block is executed after execution exits thetry block and any associatedcatch clauses regardless of whether an exception was thrown or caught, or execution left method in the middle of thetry orcatch blocks using thereturn keyword.
float
Thefloat keyword is used to declare a variable that can hold a 32-bitsingle precision IEEE 754 floating-point number.[5][6] This keyword is also used to declare that a method returns a value of the primitive typefloat.[7][8]
for
Thefor keyword is used to create afor loop, which specifies a variable initialization, aboolean expression, and an incrementation. The variable initialization is performed first, and then the boolean expression is evaluated. If the expression evaluates totrue, the block of statements associated with the loop are executed, and then the incrementation is performed. The boolean expression is then evaluated again; this continues until the expression evaluates tofalse.[15]
As ofJ2SE 5.0, thefor keyword can also be used to create a so-called "enhanced for loop",[16] which specifies anarray orIterable object; each iteration of the loop executes the associated block of statements using a different element in the array orIterable.[15]
if
Theif keyword is used to create anif statement, which tests aboolean expression; if the expression evaluates totrue, the block of statements associated with the if statement is executed. This keyword can also be used to create anif-else statement; seeelse.[13][14]
implements
Included in a class declaration to specify one or moreinterfaces 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 asource file to specify classes or entireJava packages to be referred to later without including their package names in the reference. Since J2SE 5.0,import statements can importstatic members of a class. AJava module may itself be imported (by writingimport module), automatically importing all exported packages.[17]
instanceof
Abinary operator that takes an object reference as its first operand and a class or interface as its second operand and produces a boolean result. Theinstanceof operator evaluates to true if and only if the runtime type of the object is assignment compatible with the class or interface.
int
Theint keyword is used to declare a variable that can hold a 32-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive typeint.[7][8]
interface
Used to declare aninterface that only contains abstract or default methods, constant (static final) fields andstatic interfaces. It can later be implemented by classes that declare the interface with theimplements keyword. Asmultiple inheritance is not allowed in Java, interfaces are used to circumvent it. An interface can be defined within another interface.
long
Thelong keyword is used to declare a variable that can hold a 64-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive typelong.[7][8]
native
Used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.[8]
new
Used to create an instance of a class or array object. Using keyword for this end is not completely necessary (as exemplified byScala), though it serves two purposes: it enables the existence of different namespace for methods and class names, it defines statically and locally that a fresh object is indeed created, and of what runtime type it is (arguably introducing dependency into the code).
package
Java package is a group of similar classes and interfaces. Packages are declared with thepackage keyword.
private
Theprivate keyword is used in the declaration of a method, field, or inner class; private members can only be accessed by other members of their own class.[18]
protected
Theprotected keyword is used in the declaration of a method, field, or inner class; protected members can only be accessed by members of their own class, that class'ssubclasses or classes from the samepackage.[18]
public
Thepublic keyword is used in the declaration of a class, method, or field; public classes, methods, and fields can be accessed by the members of any class.[18]
return
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.
short
Theshort keyword is used to declare a field that can hold a 16-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive typeshort.[7][8]
static
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 arebound to the class instead of to a specific instance, and can only operate on class fields. Classes and interfaces declared asstatic members of another class or interface are behaviorally top-level classes.[19]
super
Inheritance basically used to achieve dynamic binding or run-time polymorphism in Java. Used to access members of a class inherited by the class in which it appears. Allows a subclass to accessoverridden methods and hidden members of its superclass. Thesuper 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.
switch
Theswitch keyword is used in conjunction withcase anddefault to create aswitch statement, which evaluates a variable, matches its value to a specificcase (includingpatterns), and executes the block of statements associated with thatcase. If nocase matches the value, the optional block labelled bydefault is executed, if included.[9][10] The switch keyword can also be used with the non-reserved keywordyield to create switch expressions.
synchronized
Used in the declaration of a method or code block to acquire themutex lock for an object while the currentthread executes the code.[8] For static methods, the object locked is the class'sClass. 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 assynchronized.
this
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. Thethis keyword is also used to forward a call from one constructor in a class to another constructor in the same class.
throw
Causes the declared exception instance to be thrown. This causes execution to continue with the first enclosing exception handler declared by thecatch 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.
throws
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 checked exceptions in a method (extendException but notRuntimeException) must be declared using thethrows keyword.
transient
Declares that an instance field is not part of the defaultserialized 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. If the default form is not used, e.g. when aserialPersistentFields table is declared in the class hierarchy, alltransient keywords are ignored.[20][21]
try
Defines a block of statements that have exception handling. If an exception is thrown inside thetry block, an optionalcatch block can handle declared exception types. Also, an optionalfinally block can be declared that will be executed when execution exits thetry block andcatch clauses, regardless of whether an exception is thrown or not. Atry block must have at least onecatch clause or afinally block.
void
Thevoid keyword is used to declare that a method does not return any value.[7]
volatile
Used in field declarations to guarantee visibility of changes to variables across threads. Every read of a volatile variable will be read from main memory, and not from theCPU cache, and that every write to a volatile variable will be written to main memory, and not just to the CPU cache.[22] Methods, classes and interfaces thus cannot be declaredvolatile, nor can local variables or parameters.
while
Thewhile keyword is used to create awhile loop, which tests aboolean expression and executes the block of statements associated with the loop if the expression evaluates totrue; this continues until the expression evaluates tofalse. This keyword can also be used to create ado-while loop; seedo.[11][12]

Unused

[edit]

The following words are reserved as keywords, but currently have no use or purpose.

const
Although reserved as a keyword in Java,const is not used and has no function.[2][23] In other languages,const is typically used to define constants. For defining constants in Java, see thefinal keyword.
goto
Although reserved as a keyword in Java,goto is not used and has no function.[2][23] In other languages,goto is typically used as a one-way control statement to jump to a label at another line of code.
strictfp (added inJ2SE 1.2)[4]
Although reserved as a keyword in Java,strictfp is obsolete, and no longer has any function.[24] Previously this keyword was used to restrict the precision and rounding of floating point calculations to ensure portability.[8]

Contextual keywords

[edit]

The following identifiers are contextual keywords, and are only restricted in some contexts:

exports
Used in a module declaration to specify which packages are available to other modules.
module
Declares amodule (a collection of related packages and resources that can be treated as a unit), used to encapsulate and expose only the public API of a library.
non-sealed
Used to declare that a class or interface which extends a sealed class can be extended by unknown classes.[25]
open
Indicates that all classes in a package are accessible via reflection by other modules.
opens
Used to open a specific package for reflection to other modules.
permits
The permits clause specifies the classes that are permitted to extend a sealed class.[25]
provides
Used to declare that a module provides an implementation of a service interface.
record
A special kind of class that acts as a transparent carrier of immutable data, automatically providing.equals(),.hashCode(), and.toString() methods.
requires
Used in a module declaration to specify that the module depends on another module.
sealed
A sealed class or interface can only be extended or implemented by classes and interfaces permitted to do so.[25]
to
Used with theopens directive to specify which module is allowed to reflectively access the package.
transitive
Used with therequires directive to indicate that a module not only requires another module but also makes that module's dependencies available to modules that depend on it.
uses
Used in a module to declare that the module is using a service (i.e. it will consume a service provided by other modules).
var
A special identifier that cannot be used as a type name (since Java 10).[26] Used to declare a variable without explicitly specifying the type, rather relying on the compiler to infer the type based on the initialiser.
when
Used as an additional check for acase statement.[27]
with
Used with theprovides directive to specify which implementation of a service is provided by the module.
yield
Used to set a value for a switch expression, when using labelled statement groups (for example,case L:).[28]

Reserved words for literal values

[edit]

The following words refer to literal values used by the language.

true
A boolean literal value.
false
A boolean literal value.
null
A reference literal value.

See also

[edit]

References

[edit]
  1. ^"Java Platform, Standard Edition Java API Reference".
  2. ^abc"Java Language Specification - Section 3.9: Keywords".The Java Language Specification.Oracle. 2018-08-21. Retrieved2018-12-25.
  3. ^"Treatment of underscores".JEP 302: Lambda Leftovers.
  4. ^abc"Java Language Keywords".The Java Tutorials. Sun Microsystems, Inc. Retrieved2017-07-24.
  5. ^abcdef"Primitive Data Types".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  6. ^abcdefFlanagan 2005, p. 22.
  7. ^abcdefg"Returning a Value from a Method".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  8. ^abcdefghiFlanagan 2005, pp. 66–67.
  9. ^abc"The switch Statement".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2014-12-18.
  10. ^abcFlanagan 2005, pp. 46–48.
  11. ^ab"The while and do-while Statements".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  12. ^abFlanagan 2005, pp. 48–49.
  13. ^ab"The if-then and if-then-else Statements".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  14. ^abFlanagan 2005, pp. 44–46.
  15. ^ab"The for Statement".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  16. ^Flanagan 2005, pp. 50–54.
  17. ^"JEP 494: Module Import Declarations (Second Preview)".openjdk.org.
  18. ^abc"Controlling Access to Members of a Class".The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved2008-12-03.
  19. ^"Nested Classes (The Java™ Tutorials > Learning the Java Language > Classes and Objects)".
  20. ^"Java Object Serialization Specification version 1.5.0". Sun/Oracle. 2004. 1.5 Defining Serializable Fields for a Class. Retrieved2010-09-16.[permanent dead link]
  21. ^Grosso, William (November 21, 2001)."Java RMI: Serialization".ONJava. O'Reilly Media. Declaring serialPersistentFields. Retrieved2010-09-16.
  22. ^"Java Volatile Keyword".
  23. ^abFlanagan 2005, p. 20.
  24. ^"JEP 306: Restore Always-Strict Floating-Point Semantics".
  25. ^abc"Sealed Classes".docs.oracle.com. Oracle Corporation. Retrieved2021-08-07.
  26. ^"Chapter 3. Lexical Structure".docs.oracle.com. Retrieved2018-12-25.
  27. ^"Chapter 14. Blocks, Statements, and Patterns".
  28. ^"Switch Expressions".docs.oracle.com. Oracle Corporation. Retrieved2020-12-27.

External links

[edit]


Retrieved from "https://en.wikipedia.org/w/index.php?title=List_of_Java_keywords&oldid=1317884636"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp