stringtranslate.com

Lista de palabras clave de Java

Un fragmento de código Java con palabras clave resaltadas en azul y 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 cualquier otro identificador . [2] De estas 68 palabras clave, 17 de ellas solo están reservadas contextualmente y, en ocasiones, pueden usarse 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 utilizan resaltado de sintaxis para mostrar las 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 se puede utilizar 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 se pueden crear instancias de clases abstractas. Los métodos abstractos deben implementarse en las subclases. La palabra clave abstracta no se puede utilizar con variables o constructores. Tenga en cuenta que no es necesario que una clase abstracta tenga ningún método abstracto.
assert(agregado en J2SE 1.4 ) [4]
Assert describe un predicado (una declaración verdadero-falso) colocado 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 en la aserción, lo que normalmente provoca que se cancele la ejecución. Las aserciones están deshabilitadas en tiempo de ejecución de forma predeterminada, pero se pueden habilitar mediante una opción de línea de comandos o mediante programación mediante un método en el cargador de clases.
boolean
Define una variable booleana sólo para los valores "verdadero" o "falso". De forma predeterminada, el valor del tipo primitivo booleano es falso. 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.
Solía ​​​​salir de un switchbloque.
byte
La bytepalabra clave se utiliza para declarar un campo que puede contener un entero en 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 declaración en el switchbloque se puede etiquetar con una o más caseetiquetas default. La switchdeclaración evalúa su expresión y luego ejecuta todas las declaraciones que siguen a la caseetiqueta coincidente; ver switch. [9] [10]
catch
Se utiliza junto con un trybloque y un bloque opcional finally. Las declaraciones en el catchbloque especifican qué hacer si el bloque lanza 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 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, la superclase se especifica implícitamente . La palabra clave class también se puede utilizar en el formato Class .class para obtener un objeto Class sin necesidad de una instancia de esa clase. Por ejemplo, se puede usar 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 contiene.
default
Opcionalmente, la defaultpalabra clave se puede usar en una declaración de cambio para etiquetar un bloque de declaraciones que se ejecutarán si ninguna casecoincide con el valor especificado; ver switch. [9] [10] Alternativamente, la defaultpalabra clave también se puede utilizar para declarar valores predeterminados en una anotación Java . Desde 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 doublepalabra clave se utiliza para declarar una variable que puede contener un número de punto flotante IEEE 754 de doble precisión 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 ; ifsi se evalúa como , se evalúa falseel bloque de declaraciones asociadas con . [13] [14]else
enum(agregado en J2SE 5.0 ) [4]
Una palabra clave de Java utilizada para declarar un tipo enumerado . Las enumeraciones amplían la clase base Enum.
extends
Usado 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 agregar funcionalidad, ya sea agregando campos o métodos a la clase Y, o anulando métodos de la clase Y. Una interfaz Z extiende una o más interfaces agregando 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
Defina una entidad una vez que no se pueda cambiar ni derivar de ella más adelante. 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 del lado izquierdo de un comando ejecutado. Todos los métodos en una clase final son implícitamente final.
finally
Se utiliza para definir un bloque de declaraciones para un bloque definido previamente por 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 lanzó o detectó una excepción, o si la ejecución dejó el método en medio de los bloques tryo catchusando 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. Primero se realiza la inicialización de la variable y luego se evalúa la expresión booleana. Si la expresión se evalúa como true, se ejecuta el bloque de declaraciones asociadas con el bucle y luego se realiza el incremento. Luego se vuelve a evaluar 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 el llamado " bucle for mejorado ", [16] que especifica una matriz u Iterableobjeto; cada iteración del bucle ejecuta el bloque de declaraciones asociado utilizando un elemento diferente en la matriz o Iterable. [15]
if
La ifpalabra clave se utiliza para crear una declaración if , que prueba una expresión booleana ; si la expresión se evalúa como true, se ejecuta el bloque de declaraciones asociadas con la declaración if. Esta palabra clave también se puede utilizar para crear una declaración if-else ; ver else. [13] [14]
implements
Incluido 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 los nombres de sus paquetes en la referencia. Desde J2SE 5.0, importlas declaraciones pueden importar staticmiembros de una clase.
instanceof
Un operador binario que toma una referencia de objeto como primer operando y una clase o interfaz como segundo operando y produce un resultado booleano. El instanceofoperador se evalúa como verdadero si y sólo si el tipo de tiempo de ejecución del objeto es compatible con la asignación de la clase o interfaz.
int
La intpalabra clave se utiliza para declarar una variable que puede contener un entero en 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 puede ser implementado 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. Una interfaz se puede definir dentro de otra interfaz.
long
La longpalabra clave se utiliza para declarar una variable que puede contener un entero en 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 se implementa en el mismo archivo fuente de Java, sino en otro idioma. [8]
new
Se utiliza para crear una instancia de una clase o un objeto de matriz. El uso de palabras clave para este fin no es completamente necesario (como lo ejemplifica Scala ), aunque tiene dos propósitos: permite la existencia de diferentes espacios de nombres para métodos y nombres de clases, define estática y localmente que realmente se crea un objeto nuevo y, por supuesto, qué tipo de tiempo de ejecución es (posiblemente introduciendo dependencia en el código).
package
El 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 solo 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 solo pueden acceder miembros de su propia clase, las subclases de esa clase o 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 a la persona que llama.
short
La shortpalabra clave se utiliza para declarar un campo que puede contener un entero en 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 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 en realidad clases de nivel superior y no clases internas.
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 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 de un constructor a un constructor de 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 usa junto con casey defaultpara crear una declaración de cambio , que evalúa una variable, hace coincidir su valor con una específica casey ejecuta el bloque de declaraciones asociadas con esa case. Si no casecoincide con el valor, defaultse ejecuta el bloque opcional etiquetado por, 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 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 en el mismo objeto ejecute ese código. El bloqueo mutex se libera automáticamente cuando la ejecución sale del código sincronizado. Los campos, clases e 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
Provoca que se lance la instancia de excepción declarada. Esto hace que la ejecución continúe con el primer controlador de excepciones adjunto declarado por la catchpalabra clave para manejar un tipo de excepción compatible con la asignación. Si no se encuentra dicho controlador de excepciones en el método actual, entonces el método regresa y el proceso se repite en el método de llamada. Si no se encuentra ningún controlador de excepciones en ninguna llamada a método en la pila, entonces la excepción se pasa al controlador de excepciones 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 forma parte del formato serializado predeterminado de un objeto. Cuando se serializa un objeto, solo los valores de sus campos de instancia no transitorios se incluyen en la representación en serie predeterminada. Cuando se deserializa un objeto, los campos transitorios se inicializan solo a su valor predeterminado. Si no se utiliza el formulario predeterminado, por ejemplo, cuando se declara una tabla serialPersistentFieldstransient en la jerarquía de clases, se ignoran todas las palabras clave. [18] [19]
try
Define un bloque de declaraciones que tienen manejo de excepciones. Si se genera una excepción dentro del trybloque, un catchbloque opcional puede manejar los tipos de excepción declarados. Además, se puede declarar un bloque opcional finallyque se ejecutará cuando la ejecución salga del trybloque y 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 entre 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. [20] Por lo tanto, los métodos, clases e interfaces no pueden declararse 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 asociadas 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 ; ver 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 ampliarse con clases desconocidas. [21]
open
opens
permits
La cláusula de permisos especifica las clases a las que se les permite extender una clase sellada. [21]
provides
record

requires

sealed
Una clase o interfaz sellada solo puede ampliarse o implementarse mediante clases e interfaces autorizadas para hacerlo. [21]
to
transitive
uses
var
Un identificador especial que no se puede utilizar como nombre de tipo (desde Java 10). [22]
when
Se utiliza como verificación adicional para una casedeclaración. [23]
with
yield
Se utiliza para establecer un valor para una expresión de cambio, cuando se utilizan grupos de instrucciones etiquetadas (por ejemplo, case L:). [24]

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] [25] 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] [25]
strictfp(agregado en J2SE 1.2 ) [4]
Aunque está reservada como palabra clave en Java, strictfpestá obsoleta y ya no tiene ninguna función. [26] 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]

Ver también

Referencias

  1. ^ "Plataforma Java, referencia de la API de Java de edición estándar".
  2. ^ abc "Especificación del lenguaje Java - Sección 3.9: Palabras clave". La especificación del lenguaje Java . Oráculo . 2018-08-21 . Consultado el 25 de diciembre de 2018 .
  3. ^ "Tratamiento de guiones bajos". JEP 302: Sobras de Lambda .
  4. ^ abc "Palabras clave del lenguaje Java". Los tutoriales de Java . Sun Microsystems, Inc. Consultado el 24 de julio de 2017 .
  5. ^ abcdef "Tipos de datos primitivos". Los 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 de un método". Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  8. ^ abcdefghi Flanagan 2005, págs.
  9. ^ abc "La declaración de cambio". Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 18 de diciembre de 2014 .
  10. ^ abc Flanagan 2005, págs.
  11. ^ ab "Declaraciones while y do- while ". Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  12. ^ ab Flanagan 2005, págs.
  13. ^ ab "Las declaraciones si-entonces y si-entonces-si no". Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  14. ^ ab Flanagan 2005, págs.
  15. ^ ab "La declaración for". Los 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". Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  18. ^ "Especificación de serialización de objetos Java versión 1.5.0". Sol/Oráculo. 2004. 1.5 Definición de campos serializables para una clase . Consultado el 16 de septiembre de 2010 .[ enlace muerto permanente ]
  19. ^ Grosso, William (21 de noviembre de 2001). "Java RMI: serialización". ENJava . Medios O'Reilly. Declarando serialPersistentFields . Consultado el 16 de septiembre de 2010 .
  20. ^ "Palabra clave volátil de Java".
  21. ^ abc "Clases selladas". docs.oracle.com . Corporación Oráculo . Consultado el 7 de agosto de 2021 .
  22. ^ "Capítulo 3. Estructura léxica". docs.oracle.com . Consultado el 25 de diciembre de 2018 .
  23. ^ "Capítulo 14. Bloques, declaraciones y patrones".
  24. ^ "Cambiar expresiones". docs.oracle.com . Corporación Oráculo . Consultado el 27 de diciembre de 2020 .
  25. ^ ab Flanagan 2005, pág. 20.
  26. ^ "JEP 306: Restaurar la semántica de punto flotante siempre estricta".

enlaces externos