Clases Record
Las clases record
son un tipo especial de clases, estas se declaran usando la siguiente sintaxis:
record MiClase (private int a, private int b){}
Las clases record
tiene las siguientes características:
-
Las clases
record
son implícitamente de tipo final. -
Todos los componentes miembros de la clase se definen en la cabecera y son de tipo final.
-
Los métodos
constructor
,equals
,hash
,toString
,getter
ysetter
se generan automáticamente. -
Este tipo de clases se pueden definir dentro de una clase o un método de instancia.
-
Cuando se define una clase
record
dentro de una clase normal, esta son implícitamente de tipostatic
. -
No se pueden heredar, pero si pueden implementar interfaces.
-
Se puede definir un constructor a parte del que se genera automáticamente.
Java record MiClase (int a, int b){public MiClase(int a, int b){//}}También se puede obviar el volver a mencionar los miembros en el constructor, de la siguiente forma:
Java record MiClase (int a, int b){public MiClase {//}} -
Esta clase cuenta con dos métodos nativos:
RecordComponents[] getRecordComponents()
: Es un método el cual devuelve un array con los miembros de la clase.boolean isRecord()
: Es un método que devuelve un booleano en caso la clase sea unrecord
.
-
Se puede declarar genéricos al definir una clase
record
. -
Se puede agregar anotaciones en la definición de los miembros dela clase.