stringtranslate.com

Lista de palabras clave de Java

Un fragmento de código Java con palabras clave resaltadas en azul y en negrita

En el lenguaje de programación Java , una palabra clave es cualquiera de las 68 palabras reservadas [1] que tienen un significado predefinido en el lenguaje. Debido a esto, los programadores no pueden usar palabras clave en algunos contextos, como nombres de variables , métodos , clases o como cualquier otro identificador . [2] De estas 68 palabras clave, 17 de ellas solo están reservadas contextualmente y, a veces, se pueden usar como identificador, a diferencia de las palabras reservadas estándar. Debido a sus funciones especiales en el lenguaje, la mayoría de los entornos de desarrollo integrados para Java usan resaltado de sintaxis para mostrar palabras clave en un color diferente para una fácil identificación.

Lista de palabras clave de Java

_
Agregado en Java 9, el guión bajo se ha convertido en una palabra clave y ya no puede usarse como nombre de variable. [3]
abstract
Un método sin definición debe declararse como abstracto y la clase que lo contiene debe declararse como abstracta. No es posible crear instancias de clases abstractas. Los métodos abstractos deben implementarse en las subclases. La palabra clave abstract no se puede utilizar con variables o constructores. Tenga en cuenta que no es necesario que una clase abstracta tenga un método abstracto.
assert(añadido en J2SE 1.4 ) [4]
Assert describe un predicado (una declaración de verdadero o falso) que se coloca en un programa Java para indicar que el desarrollador piensa que el predicado siempre es verdadero en ese lugar. Si una aserción se evalúa como falsa en tiempo de ejecución, se produce un error de aserción, que generalmente hace que la ejecución se cancele. Las aserciones están deshabilitadas en tiempo de ejecución de forma predeterminada, pero se pueden habilitar a través de una opción de línea de comandos o mediante programación a través de un método en el cargador de clases.
boolean
Define una variable booleana solo para los valores "true" o "false". De manera predeterminada, el valor del tipo primitivo booleano es false. Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo boolean.
break
Se utiliza para finalizar la ejecución en el cuerpo del bucle actual.
Se utiliza para salir de un switchbloqueo.
byte
La bytepalabra clave se utiliza para declarar un campo que puede contener un entero de complemento a dos con signo de 8 bits. [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo byte. [7] [8]
case
Una instrucción en el switchbloque puede etiquetarse con una o más etiquetas caseo default. La switchinstrucción evalúa su expresión y luego ejecuta todas las instrucciones que siguen a la caseetiqueta correspondiente; consulte switch. [9] [10]
catch
Se utiliza junto con un trybloque y un finallybloque opcional. Las instrucciones del catchbloque especifican qué hacer si el bloque genera un tipo específico de excepción try.
char
Define una variable de carácter capaz de contener cualquier carácter del conjunto de caracteres del archivo fuente de Java.
class
Un tipo que define la implementación de un tipo particular de objeto. Una definición de clase define campos de instancia y de clase , métodos y clases internas , además de especificar las interfaces que implementa la clase y la superclase inmediata de la clase. Si la superclase no se especifica explícitamente, se especifica de manera implícita . La palabra clave class también se puede utilizar en la forma Class .class para obtener un objeto Class sin necesidad de una instancia de esa clase. Por ejemplo, se puede utilizar String.class en lugar de hacer new String().getClass() .Object
continue
Se utiliza para reanudar la ejecución del programa al final del cuerpo del bucle actual. Si va seguido de una etiqueta, continuereanuda la ejecución al final del cuerpo del bucle etiquetado que lo encierra.
default
La defaultpalabra clave se puede utilizar opcionalmente en una declaración switch para etiquetar un bloque de declaraciones que se ejecutarán si no casecoincide con el valor especificado; consulte switch. [9] [10] Alternativamente, la defaultpalabra clave también se puede utilizar para declarar valores predeterminados en una anotación Java . A partir de Java 8 en adelante, la defaultpalabra clave se puede utilizar para permitir que una interfaz proporcione una implementación de un método.
do
La dopalabra clave se utiliza junto con whilepara crear un bucle do-while , que ejecuta un bloque de instrucciones asociadas con el bucle y luego prueba una expresión booleana asociada con while. Si la expresión se evalúa como true, el bloque se ejecuta nuevamente; esto continúa hasta que la expresión se evalúa como false. [11] [12]
double
La palabra clave se utiliza para declarar una variable que puede contener un número de punto flotante IEEE 754 de doble precisióndouble de 64 bits . [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo . [7] [8] double
else
La elsepalabra clave se utiliza junto con ifpara crear una declaración if-else , que prueba una expresión booleana ; si la expresión se evalúa como , se evalúa trueel bloque de declaraciones asociadas con la ; si se evalúa como , se evalúa el bloque de declaraciones asociadas con la . [13] [14]iffalseelse
enum(añadido en J2SE 5.0 ) [4]
Palabra clave de Java que se utiliza para declarar un tipo enumerado . Las enumeraciones extienden la clase base Enum.
extends
Se utiliza en una declaración de clase para especificar la superclase; se utiliza en una declaración de interfaz para especificar una o más superinterfaces. La clase X extiende la clase Y para añadir funcionalidad, ya sea añadiendo campos o métodos a la clase Y, o anulando los métodos de la clase Y. Una interfaz Z extiende una o más interfaces añadiendo métodos. Se dice que la clase X es una subclase de la clase Y; se dice que la interfaz Z es una subinterfaz de las interfaces que extiende.
También se utiliza para especificar un límite superior en un parámetro de tipo en genéricos.
final
Define una entidad una vez que no se puede cambiar ni derivar de ella más tarde. Más específicamente: una clase final no se puede subclasificar, un método final no se puede anular y una variable final puede aparecer como máximo una vez como expresión de la izquierda en un comando ejecutado. Todos los métodos en una clase final son implícitamente final.
finally
Se utiliza para definir un bloque de instrucciones para un bloque definido previamente con la trypalabra clave. El finallybloque se ejecuta después de que la ejecución sale del trybloque y de cualquier catchcláusula asociada, independientemente de si se generó o detectó una excepción, o si la ejecución dejó el método en medio de los bloques tryo catchutilizando la returnpalabra clave.
float
La palabra clave se utiliza para declarar una variable que puede contener un número de punto flotante IEEE 754 de precisión simplefloat de 32 bits . [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo . [7] [8]float
for
La forpalabra clave se utiliza para crear un bucle for , que especifica una inicialización de variable, una expresión booleana y un incremento. La inicialización de variable se realiza primero y luego se evalúa la expresión booleana. Si la expresión se evalúa como true, se ejecuta el bloque de instrucciones asociado con el bucle y luego se realiza el incremento. Luego se evalúa nuevamente la expresión booleana; esto continúa hasta que la expresión se evalúa como false. [15]
A partir de J2SE 5.0 , la forpalabra clave también se puede utilizar para crear un denominado " bucle for mejorado ", [16] que especifica una matriz u Iterableobjeto; cada iteración del bucle ejecuta el bloque asociado de declaraciones utilizando un elemento diferente en la matriz o Iterable. [15]
if
La ifpalabra clave se utiliza para crear una sentencia if , que prueba una expresión booleana ; si la expresión se evalúa como true, se ejecuta el bloque de sentencias asociadas con la sentencia if . Esta palabra clave también se puede utilizar para crear una sentencia if-else ; consulte else. [13] [14]
implements
Se incluye en una declaración de clase para especificar una o más interfaces implementadas por la clase actual. Una clase hereda los tipos y métodos abstractos declarados por las interfaces.
import
Se utiliza al principio de un archivo fuente para especificar clases o paquetes Java completos a los que se hará referencia más adelante sin incluir sus nombres de paquete en la referencia. Desde J2SE 5.0, importlas instrucciones pueden importar staticmiembros de una clase.
instanceof
Operador binario que toma una referencia de objeto como su primer operando y una clase o interfaz como su segundo operando y produce un resultado booleano. El instanceofoperador se evalúa como verdadero si y solo si el tipo de tiempo de ejecución del objeto es compatible con la asignación con la clase o interfaz.
int
La intpalabra clave se utiliza para declarar una variable que puede contener un entero de complemento a dos con signo de 32 bits. [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo int. [7] [8]
interface
Se utiliza para declarar un tipo especial de clase que solo contiene métodos abstractos o predeterminados, static finalcampos constantes ( ) e staticinterfaces. Posteriormente, se puede implementar mediante clases que declaren la interfaz con la implementspalabra clave. Como la herencia múltiple no está permitida en Java, se utilizan interfaces para evitarla. Se puede definir una interfaz dentro de otra interfaz.
long
La longpalabra clave se utiliza para declarar una variable que puede contener un entero de complemento a dos con signo de 64 bits. [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo long. [7] [8]
native
Se utiliza en declaraciones de métodos para especificar que el método no está implementado en el mismo archivo fuente de Java, sino en otro lenguaje. [8]
new
Se utiliza para crear una instancia de una clase o un objeto de matriz. El uso de la palabra clave para este fin no es completamente necesario (como se ejemplifica en Scala ), aunque cumple dos propósitos: permite la existencia de diferentes espacios de nombres para métodos y nombres de clase, define estática y localmente que se crea un objeto nuevo y de qué tipo de tiempo de ejecución es (podría decirse que introduce dependencia en el código).
package
Un paquete Java es un grupo de clases e interfaces similares. Los paquetes se declaran con la packagepalabra clave.
private
La privatepalabra clave se utiliza en la declaración de un método, campo o clase interna; a los miembros privados sólo pueden acceder otros miembros de su propia clase. [17]
protected
La protectedpalabra clave se utiliza en la declaración de un método, campo o clase interna; a los miembros protegidos sólo pueden acceder los miembros de su propia clase, las subclases de esa clase o las clases del mismo paquete . [17]
public
La publicpalabra clave se utiliza en la declaración de una clase, método o campo; los miembros de cualquier clase pueden acceder a clases, métodos y campos públicos. [17]
return
Se utiliza para finalizar la ejecución de un método. Puede ir seguido de un valor requerido por la definición del método que se devuelve al llamador.
short
La shortpalabra clave se utiliza para declarar un campo que puede contener un entero de complemento a dos con signo de 16 bits. [5] [6] Esta palabra clave también se utiliza para declarar que un método devuelve un valor del tipo primitivo short. [7] [8]
static
Se utiliza para declarar un campo, método o clase interna como un campo de clase. Las clases mantienen una copia de los campos de clase independientemente de cuántas instancias existan de esa clase. staticTambién se utiliza para definir un método como un método de clase. Los métodos de clase están vinculados a la clase en lugar de a una instancia específica, y solo pueden operar en campos de clase. Las clases e interfaces declaradas como staticmiembros de otra clase o interfaz son clases de nivel superior desde el punto de vista conductual. [18]
super
La herencia se utiliza básicamente para lograr un enlace dinámico o polimorfismo en tiempo de ejecución en Java. Se utiliza para acceder a los miembros de una clase heredada por la clase en la que aparece. Permite que una subclase acceda a métodos anulados y miembros ocultos de su superclase. La superpalabra clave también se utiliza para reenviar una llamada desde un constructor a un constructor en la superclase.
También se utiliza para especificar un límite inferior en un parámetro de tipo en genéricos.
switch
La switchpalabra clave se utiliza junto con casey defaultpara crear una sentencia switch , que evalúa una variable, hace coincidir su valor con un valor específico casey ejecuta el bloque de sentencias asociado con ese valor case. Si no casecoincide con el valor, se ejecuta el bloque opcional etiquetado por default, si está incluido. [9] [10]
synchronized
Se utiliza en la declaración de un método o bloque de código para adquirir el bloqueo mutex para un objeto mientras el hilo actual ejecuta el código. [8] Para los métodos estáticos, el objeto bloqueado es el de la clase Class. Garantiza que, como máximo, un hilo a la vez que opera sobre el mismo objeto ejecuta ese código. El bloqueo mutex se libera automáticamente cuando la ejecución sale del código sincronizado. Los campos, las clases y las interfaces no se pueden declarar como sincronizados .
this
Se utiliza para representar una instancia de la clase en la que aparece. thisSe puede utilizar para acceder a los miembros de la clase y como referencia a la instancia actual. La thispalabra clave también se utiliza para reenviar una llamada de un constructor de una clase a otro constructor de la misma clase.
throw
Hace que se lance la instancia de excepción declarada. Esto hace que la ejecución continúe con el primer controlador de excepción que lo incluya declarado por la catchpalabra clave para controlar un tipo de excepción compatible con la asignación. Si no se encuentra dicho controlador de excepción en el método actual, el método retorna y el proceso se repite en el método que realiza la llamada. Si no se encuentra ningún controlador de excepción en ninguna llamada de método en la pila, la excepción se pasa al controlador de excepción no detectado del subproceso.
throws
Se utiliza en declaraciones de métodos para especificar qué excepciones no se manejan dentro del método, sino que se pasan al siguiente nivel superior del programa. Todas las excepciones no detectadas en un método que no sean instancias de RuntimeExceptiondeben declararse utilizando la throwspalabra clave.
transient
Declara que un campo de instancia no es parte de la forma serializada predeterminada de un objeto. Cuando se serializa un objeto, solo los valores de sus campos de instancia no transitorios se incluyen en la representación serial predeterminada. Cuando se deserializa un objeto, los campos transitorios se inicializan solo con su valor predeterminado. Si no se utiliza la forma predeterminada, por ejemplo, cuando se declara una tabla serialPersistentFields en la jerarquía de clases, transientse ignoran todas las palabras clave. [19] [20]
try
Define un bloque de instrucciones que tienen control de excepciones. Si se lanza una excepción dentro del trybloque, un catchbloque opcional puede controlar los tipos de excepción declarados. Además, finallyse puede declarar un bloque opcional que se ejecutará cuando la ejecución salga del trybloque y de catchlas cláusulas, independientemente de si se lanza una excepción o no. Un trybloque debe tener al menos una catchcláusula o un finallybloque.
void
La voidpalabra clave se utiliza para declarar que un método no devuelve ningún valor. [7]
volatile
Se utiliza en declaraciones de campo para garantizar la visibilidad de los cambios en las variables en todos los subprocesos. Cada lectura de una variable volátil se leerá desde la memoria principal, y no desde la memoria caché de la CPU, y cada escritura en una variable volátil se escribirá en la memoria principal, y no solo en la memoria caché de la CPU. [21] Por lo tanto, los métodos, clases e interfaces no se pueden declarar como volátiles , ni tampoco las variables o parámetros locales.
while
La whilepalabra clave se utiliza para crear un bucle while , que prueba una expresión booleana y ejecuta el bloque de instrucciones asociado con el bucle si la expresión se evalúa como true; esto continúa hasta que la expresión se evalúa como false. Esta palabra clave también se puede utilizar para crear un bucle do-while ; consulte do. [11] [12]

Identificadores reservados

Los siguientes identificadores son palabras clave contextuales y solo están restringidos en algunos contextos:

exports

module

non-sealed
Se utiliza para declarar que una clase o interfaz que extiende una clase sellada puede ser extendida por clases desconocidas. [22]
open
opens
permits
La cláusula de permisos especifica las clases a las que se les permite extender una clase sellada. [22]
provides
record

requires

sealed
Una clase o interfaz sellada sólo puede ser extendida o implementada por clases e interfaces autorizadas para hacerlo. [22]
to
transitive
uses
var
Un identificador especial que no se puede utilizar como nombre de tipo (desde Java 10). [23]
when
se utiliza como comprobación adicional de una casedeclaración. [24]
with
yield
Se utiliza para establecer un valor para una expresión de conmutación, cuando se utilizan grupos de instrucciones etiquetados (por ejemplo, case L:). [25]

Palabras reservadas para valores literales

true
Un valor literal booleano.
false
Un valor literal booleano.
null
Un valor literal de referencia.

No usado

const
Aunque está reservada como palabra clave en Java, constno se utiliza y no tiene ninguna función. [2] [26] Para definir constantes en Java, consulte la finalpalabra clave.
goto
Aunque está reservada como palabra clave en Java, gotono se utiliza y no tiene ninguna función. [2] [26]
strictfp(añadido en J2SE 1.2 ) [4]
Aunque está reservada como palabra clave en Java, strictfpestá obsoleta y ya no tiene ninguna función. [27] Anteriormente, esta palabra clave se utilizaba para restringir la precisión y el redondeo de los cálculos de punto flotante para garantizar la portabilidad. [8]

Véase también

Referencias

  1. ^ "Referencia de API de Java de la plataforma Java, edición estándar".
  2. ^ abc "Especificación del lenguaje Java - Sección 3.9: Palabras clave". La especificación del lenguaje Java . Oracle . 2018-08-21 . Consultado el 2018-12-25 .
  3. ^ "Tratamiento de guiones bajos". JEP 302: Restos de Lambda .
  4. ^ abc "Palabras clave del lenguaje Java". Tutoriales de Java . Sun Microsystems, Inc. . Consultado el 24 de julio de 2017 .
  5. ^ abcdef "Tipos de datos primitivos". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  6. ^ abcdef Flanagan 2005, pág. 22.
  7. ^ abcdefg "Devolver un valor desde un método". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  8. ^ abcdefghi Flanagan 2005, págs. 66–67.
  9. ^ abc "La sentencia switch". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 18 de diciembre de 2014 .
  10. ^ abc Flanagan 2005, págs. 46–48.
  11. ^ ab "Las sentencias while y do-while". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  12. ^ desde Flanagan 2005, págs. 48-49.
  13. ^ ab "Las sentencias if-then y if-then-else". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  14. ^ desde Flanagan 2005, págs. 44–46.
  15. ^ ab "La declaración for". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  16. ^ Flanagan 2005, págs. 50–54.
  17. ^ abc "Control del acceso a los miembros de una clase". Tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008. Consultado el 3 de diciembre de 2008 .
  18. ^ "Clases anidadas (Tutoriales de Java™ > Aprendiendo el lenguaje Java > Clases y objetos)".
  19. ^ "Especificación de serialización de objetos Java versión 1.5.0". Sun/Oracle. 2004. 1.5 Definición de campos serializables para una clase . Consultado el 16 de septiembre de 2010 .[ enlace muerto permanente ]
  20. ^ Grosso, William (21 de noviembre de 2001). "Java RMI: Serialization". ONJava . O'Reilly Media. Declaración de serialPersistentFields . Consultado el 16 de septiembre de 2010 .
  21. ^ "Palabra clave volátil de Java".
  22. ^ abc "Clases selladas". docs.oracle.com . Oracle Corporation . Consultado el 7 de agosto de 2021 .
  23. ^ "Capítulo 3. Estructura léxica". docs.oracle.com . Consultado el 25 de diciembre de 2018 .
  24. ^ "Capítulo 14. Bloques, declaraciones y patrones".
  25. ^ "Expresiones de cambio". docs.oracle.com . Oracle Corporation . Consultado el 27 de diciembre de 2020 .
  26. ^ desde Flanagan 2005, pág. 20.
  27. ^ "JEP 306: Restaurar semántica de punto flotante siempre estricta".

Enlaces externos