De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
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 52 palabras reservadas [1] que tienen un significado predefinido en el lenguaje; debido a esto, los programadores no pueden usar palabras clave como nombres de variables , métodos , clases o como cualquier otro identificador . [2] De estas 52 palabras clave, 49 están en uso, 1 está en vista previa y 2 no están en uso. Debido a sus funciones especiales en el lenguaje, la mayoría de los entornos de desarrollo integrados para Java utilizan el resaltado de sintaxis para mostrar las palabras clave en un color diferente para una fácil identificación.

Lista [ editar ]

_
Agregado en Java 9, el guión bajo se ha convertido en una palabra clave y ya no se puede usar 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 abstracto. 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 se requiere una clase abstracta para tener un método abstracto en absoluto.
assert(agregado en J2SE 1.4 ) [4]
Assert describe un predicado (una declaración de verdadero o 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 de aserción, lo que normalmente hace que la ejecución se anule. Opcionalmente, habilítelo mediante el método ClassLoader.
boolean
Define una variable booleana para los valores "verdadero" o "falso" únicamente. De forma predeterminada, el valor del tipo primitivo booleano es falso. Esta palabra clave también se usa 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.
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 usa para declarar que un método devuelve un valor del tipo primitivo byte. [7] [8]
case
Una declaración en el switchbloque puede marcarse con una o más caseo defaultetiquetas. La switchdeclaración evalúa su expresión, luego ejecuta todas las declaraciones que siguen a la caseetiqueta correspondiente ; ver switch. [9] [10]
catch
Se utiliza junto con un trybloque y un finallybloque opcional . Las declaraciones en el catchbloque especifican qué hacer si el trybloque lanza un tipo específico de excepción .
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 , así como también especifica las interfaces que implementa la clase y la superclase inmediata de la clase. Si la superclase no se especifica explícitamente, la superclase lo está implícitamente . La palabra clave class también se puede usar en el formulario 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 un nuevo String (). GetClass () .Object
const
Sin usar pero reservado.
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 adjunto.
default
La defaultpalabra clave se puede utilizar opcionalmente en una sentencia de cambio para etiquetar un bloque de sentencias 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 de 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 usa junto con whilepara crear un bucle do-while , que ejecuta un bloque de declaraciones 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 coma flotante IEEE 754 de doble precisión de 64 bits . [5] [6] Esta palabra clave también se usa para declarar que un método devuelve un valor del tipo primitivo . [7] [8] double
else
La elsepalabra clave se usa junto con ifpara crear una declaración if-else , que prueba una expresión booleana ; si la expresión se evalúa true, se evalúa el bloque de declaraciones asociadas con if; si se evalúa false, se evalúa el bloque de declaraciones asociadas con else. [13] [14]
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; utilizado 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 pueda cambiarse ni derivarse de ella más tarde. Más específicamente: una clase final no puede ser subclasificada, un método final no puede ser anulado y una variable final puede ocurrir como máximo una vez como expresión de la izquierda en un comando ejecutado. Todos los métodos de 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 cualquier catchcláusula asociada independientemente de si se lanzó o capturó una excepción, o si la ejecución dejó el método en el medio de los bloques tryo catchusando la returnpalabra clave.
float
La floatpalabra clave se utiliza para declarar una variable que puede contener un número de punto flotante IEEE 754 de precisión simple de 32 bits . [5] [6] Esta palabra clave también se usa para declarar que un método devuelve un valor del tipo primitivo float. [7] [8]
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 en true, se ejecuta el bloque de declaraciones asociadas con el bucle y, a continuación, se realiza el incremento. Luego, la expresión booleana se evalúa nuevamente; 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 " bucle for mejorado ", [16] que especifica una matriz u Iterableobjeto; cada iteración del ciclo ejecuta el bloque asociado de declaraciones usando un elemento diferente en la matriz o Iterable. [15]
goto
No usado
if
La ifpalabra clave se usa 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 sentencias asociadas con la sentencia 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 usa al comienzo de un archivo fuente para especificar clases o paquetes completos de Java a los que se hará referencia más adelante sin incluir los nombres de los paquetes en la referencia. Desde J2SE 5.0, las importdeclaraciones pueden importar staticmiembros de una clase.
instanceof
Un 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 evalúa como verdadero si y solo 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 de complemento a dos con signo de 32 bits. [5] [6] Esta palabra clave también se usa 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 por clases que declaran la interfaz con la implementspalabra clave. Como la herencia múltiple no está permitida en Java, se utilizan interfaces para eludirla. Una interfaz se puede definir 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 usa 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 se crea un objeto nuevo, y de qué tipo de tiempo de ejecución es (posiblemente introduciendo dependencia en el código).
non-sealed
Se utiliza para declarar que una clase o interfaz que amplía una clase sellada puede ampliarse mediante clases desconocidas. [17]
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; los miembros privados solo pueden ser accedidos por otros miembros de su propia clase. [18]
protected
La protectedpalabra clave se utiliza en la declaración de un método, campo o clase interna; los miembros protegidos solo pueden ser accedidos por miembros de su propia clase, las subclases de esa clase o las clases del mismo paquete . [18]
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. [18]
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 usa 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 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 son clases internas).
strictfp(agregado en J2SE 1.2 ) [4]
Una palabra clave de Java que se utiliza para restringir la precisión y el redondeo de los cálculos de punto flotante para garantizar la portabilidad. [8]
super
La herencia se usa 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 usa para reenviar una llamada de un constructor a un constructor en la superclase.
También se usa 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 eso 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 de 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 opere en el mismo objeto ejecute ese código. El bloqueo de 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 usa para reenviar una llamada de un constructor en una clase a otro constructor en 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 adjunto declarado por la catchpalabra clave para manejar un tipo de excepción compatible con la asignación. Si no se encuentra un manejador de excepciones en el método actual, el método regresa y el proceso se repite en el método de llamada. Si no se encuentra un manejador de excepciones en ninguna llamada de método en la pila, entonces la excepción se pasa al manejador de excepciones no capturado del subproceso.
throws
Se usa 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 mediante 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 el formulario predeterminado, 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 declaraciones que tienen manejo de excepciones. Si se lanza una excepción dentro del trybloque, un catchbloque opcional puede manejar tipos de excepción declarados. Además, finallyse puede declarar un bloque opcional que se ejecutará cuando la ejecución salga del trybloque y las catchclá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 los subprocesos. Cada lectura de una variable volátil se leerá desde la memoria principal, y no desde la caché de la CPU, y cada escritura en una variable volátil se escribirá en la memoria principal, y no solo en la caché de la CPU. [21] Los métodos, clases e interfaces, por lo tanto, no pueden declararse volátiles , ni 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 declaraciones 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 [ editar ]

Los siguientes identificadores no son palabras clave, sin embargo, están restringidos en algunos contextos:

permits
La cláusula de permisos especifica las clases a las que se les permite extender una clase sellada. [22]
record
sealed
Una clase o interfaz sellada solo se puede extender o implementar solo mediante clases e interfaces autorizadas para hacerlo. [23]
var
Un identificador especial que no se puede utilizar como nombre de tipo (desde Java 10). [24]
yield
Se usa para establecer un valor para una expresión de cambio

Palabras reservadas para valores literales [ editar ]

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

Sin usar [ editar ]

const
Aunque está reservado 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á reservado como palabra clave en Java, gotono se utiliza y no tiene ninguna función. [2] [25]

Ver también [ editar ]

  • Anotación de Java

Referencias [ editar ]

  1. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls-3.9
  2. ^ a b c "Especificación del lenguaje Java - Sección 3.9: Palabras clave" . La especificación del lenguaje Java . Oracle . 2018-08-21 . Consultado el 25 de diciembre de 2018 .
  3. ^ Goetz, Brian. "Advertencia sobre el identificador de guión bajo único" . Desarrollo de OpenJDK Lambda .
  4. ^ a b c "Palabras clave del lenguaje Java" . Los tutoriales de Java . Sun Microsystems, Inc . Consultado el 24 de julio de 2017 .
  5. ^ a b c d e f "Tipos de datos primitivos" . Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  6. ↑ a b c d e f Flanagan , 2005 , p. 22.
  7. ^ a b c d e f g "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. ↑ a b c d e f g h i Flanagan , 2005 , págs. 66-67.
  9. ^ a b c "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. ↑ a b c Flanagan , 2005 , págs. 46-48.
  11. ^ a b "Las 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. ↑ a b Flanagan , 2005 , págs. 48-49.
  13. ^ a b "Las declaraciones if-then y if-then-else" . Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  14. ↑ a b Flanagan , 2005 , págs. 44-46.
  15. ^ a b "La declaración de" . 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. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls . Falta o vacío |title=( ayuda )
  18. ^ a b c "Control de acceso a miembros de una clase" . Los tutoriales de Java . Sun Microsystems, Inc. 14 de febrero de 2008 . Consultado el 3 de diciembre de 2008 .
  19. ^ "Especificación de serialización de objetos Java versión 1.5.0" . Sol / 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: serialización" . ONJava . O'Reilly Media. Declarando serialPersistentFields . Consultado el 16 de septiembre de 2010 .
  21. ^ "Palabra clave volátil de Java" .
  22. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls . Falta o vacío |title=( ayuda )
  23. ^ "Clases selladas" . Oracle . Consultado el 27 de diciembre de 2020 .
  24. ^ "Capítulo 3. Estructura léxica" . docs.oracle.com . Consultado el 25 de diciembre de 2018 .
  25. ↑ a b Flanagan , 2005 , p. 20.

Enlaces externos [ editar ]

  • Gosling, James ; Joy, Bill ; Steele, Guy ; Bracha, Gilad (junio de 2005). Especificación del lenguaje Java (tercera edición). Addison-Wesley Professional. ISBN 978-0-321-24678-3. Consultado el 3 de diciembre de 2008 .
  • Flanagan, David (marzo de 2005). Java en pocas palabras (Quinta ed.). O'Reilly Media . ISBN 978-0-596-00773-7. Consultado el 3 de marzo de 2010 .