[{"data":1,"prerenderedAt":1098},["ShallowReactive",2],{"navigation_docs":3,"-clases-objetos-modificadores":412,"-clases-objetos-modificadores-surround":1093},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":102,"body":414,"description":1086,"extension":1087,"links":1088,"meta":1089,"navigation":1090,"path":103,"seo":1091,"stem":104,"__hash__":1092},"docs\u002F3.clases-objetos\u002F12.modificadores.md",{"type":415,"value":416,"toc":1063},"minimark",[417,426,436,443,452,551,557,566,636,705,711,720,812,819,825,885,891,896,901,906,948,953,958,1008,1014,1020,1046,1050,1059],[418,419,421,422],"h2",{"id":420},"modificador-static","Modificador ",[423,424,425],"code",{},"static",[427,428,429,430,432,433,435],"p",{},"El modificador ",[423,431,425],{}," se utiliza para indicar que un miembro (variable o método) pertenece a la clase en lugar de a una instancia específica de la clase. Esto significa que los miembros ",[423,434,425],{}," pueden ser accedidos sin necesidad de crear un objeto de la clase.",[437,438,440,441],"h3",{"id":439},"variables-static","Variables ",[423,442,425],{},[427,444,445,446,448,449,451],{},"Una variable ",[423,447,425],{}," es compartida por todas las instancias de la clase. Si se modifica el valor de una variable ",[423,450,425],{},", ese cambio se reflejará en todas las instancias que acceden a esa variable.",[453,454,459],"pre",{"className":455,"code":456,"language":457,"meta":458,"style":458},"language-java shiki shiki-themes github-dark","public class Contador {\n    public static int cuenta = 0;\n\n    public Contador() {\n        cuenta++; \u002F\u002F Incrementa la cuenta cada vez que se crea una nueva instancia\n    }\n}\n","java","",[423,460,461,481,506,513,523,539,545],{"__ignoreMap":458},[462,463,466,470,473,477],"span",{"class":464,"line":465},"line",1,[462,467,469],{"class":468},"snl16","public",[462,471,472],{"class":468}," class",[462,474,476],{"class":475},"svObZ"," Contador",[462,478,480],{"class":479},"s95oV"," {\n",[462,482,484,487,490,493,496,499,503],{"class":464,"line":483},2,[462,485,486],{"class":468},"    public",[462,488,489],{"class":468}," static",[462,491,492],{"class":468}," int",[462,494,495],{"class":479}," cuenta ",[462,497,498],{"class":468},"=",[462,500,502],{"class":501},"sDLfK"," 0",[462,504,505],{"class":479},";\n",[462,507,509],{"class":464,"line":508},3,[462,510,512],{"emptyLinePlaceholder":511},true,"\n",[462,514,516,518,520],{"class":464,"line":515},4,[462,517,486],{"class":468},[462,519,476],{"class":475},[462,521,522],{"class":479},"() {\n",[462,524,526,529,532,535],{"class":464,"line":525},5,[462,527,528],{"class":479},"        cuenta",[462,530,531],{"class":468},"++",[462,533,534],{"class":479},"; ",[462,536,538],{"class":537},"sAwPA","\u002F\u002F Incrementa la cuenta cada vez que se crea una nueva instancia\n",[462,540,542],{"class":464,"line":541},6,[462,543,544],{"class":479},"    }\n",[462,546,548],{"class":464,"line":547},7,[462,549,550],{"class":479},"}\n",[437,552,554,555],{"id":553},"métodos-static","Métodos ",[423,556,425],{},[427,558,559,560,562,563,565],{},"Un método ",[423,561,425],{}," puede ser llamado sin crear una instancia de la clase. Estos métodos no pueden acceder a variables de instancia (no ",[423,564,425],{},") ni a métodos de instancia, ya que no tienen un objeto específico para operar.",[453,567,569],{"className":455,"code":568,"language":457,"meta":458,"style":458},"public class Utilidades {\n    public static int sumar(int a, int b) {\n        return a + b;\n    }\n}\n",[423,570,571,582,614,628,632],{"__ignoreMap":458},[462,572,573,575,577,580],{"class":464,"line":465},[462,574,469],{"class":468},[462,576,472],{"class":468},[462,578,579],{"class":475}," Utilidades",[462,581,480],{"class":479},[462,583,584,586,588,590,593,596,599,603,606,608,611],{"class":464,"line":483},[462,585,486],{"class":468},[462,587,489],{"class":468},[462,589,492],{"class":468},[462,591,592],{"class":475}," sumar",[462,594,595],{"class":479},"(",[462,597,598],{"class":468},"int",[462,600,602],{"class":601},"s9osk"," a",[462,604,605],{"class":479},", ",[462,607,598],{"class":468},[462,609,610],{"class":601}," b",[462,612,613],{"class":479},") {\n",[462,615,616,619,622,625],{"class":464,"line":508},[462,617,618],{"class":468},"        return",[462,620,621],{"class":479}," a ",[462,623,624],{"class":468},"+",[462,626,627],{"class":479}," b;\n",[462,629,630],{"class":464,"line":515},[462,631,544],{"class":479},[462,633,634],{"class":464,"line":525},[462,635,550],{"class":479},[453,637,639],{"className":455,"code":638,"language":457,"meta":458,"style":458},"void main(){\n    int resultado = Utilidades.sumar(5, 3);\n    System.out.println(\"El resultado de la suma es: \" + resultado);\n}\n",[423,640,641,652,681,701],{"__ignoreMap":458},[462,642,643,646,649],{"class":464,"line":465},[462,644,645],{"class":468},"void",[462,647,648],{"class":475}," main",[462,650,651],{"class":479},"(){\n",[462,653,654,657,660,662,665,668,670,673,675,678],{"class":464,"line":483},[462,655,656],{"class":468},"    int",[462,658,659],{"class":479}," resultado ",[462,661,498],{"class":468},[462,663,664],{"class":479}," Utilidades.",[462,666,667],{"class":475},"sumar",[462,669,595],{"class":479},[462,671,672],{"class":501},"5",[462,674,605],{"class":479},[462,676,677],{"class":501},"3",[462,679,680],{"class":479},");\n",[462,682,683,686,689,691,695,698],{"class":464,"line":508},[462,684,685],{"class":479},"    System.out.",[462,687,688],{"class":475},"println",[462,690,595],{"class":479},[462,692,694],{"class":693},"sU2Wk","\"El resultado de la suma es: \"",[462,696,697],{"class":468}," +",[462,699,700],{"class":479}," resultado);\n",[462,702,703],{"class":464,"line":515},[462,704,550],{"class":479},[437,706,708,709],{"id":707},"bloques-static","Bloques ",[423,710,425],{},[427,712,713,714,716,717,719],{},"Un bloque ",[423,715,425],{}," se ejecuta una sola vez cuando la clase es cargada por primera vez. Se utiliza para inicializar variables ",[423,718,425],{}," o realizar configuraciones que solo necesitan hacerse una vez.",[453,721,723],{"className":455,"code":722,"language":457,"meta":458,"style":458},"public class Configuracion {\n    public static String configuracionGlobal;\n\n    static {\n        configuracionGlobal = \"Valor inicial de configuración\";\n    }\n\n    public static void mostrarConfiguracion() {\n        System.out.println(configuracionGlobal);\n    }\n}\n",[423,724,725,736,745,749,756,768,772,776,791,802,807],{"__ignoreMap":458},[462,726,727,729,731,734],{"class":464,"line":465},[462,728,469],{"class":468},[462,730,472],{"class":468},[462,732,733],{"class":475}," Configuracion",[462,735,480],{"class":479},[462,737,738,740,742],{"class":464,"line":483},[462,739,486],{"class":468},[462,741,489],{"class":468},[462,743,744],{"class":479}," String configuracionGlobal;\n",[462,746,747],{"class":464,"line":508},[462,748,512],{"emptyLinePlaceholder":511},[462,750,751,754],{"class":464,"line":515},[462,752,753],{"class":468},"    static",[462,755,480],{"class":479},[462,757,758,761,763,766],{"class":464,"line":525},[462,759,760],{"class":479},"        configuracionGlobal ",[462,762,498],{"class":468},[462,764,765],{"class":693}," \"Valor inicial de configuración\"",[462,767,505],{"class":479},[462,769,770],{"class":464,"line":541},[462,771,544],{"class":479},[462,773,774],{"class":464,"line":547},[462,775,512],{"emptyLinePlaceholder":511},[462,777,779,781,783,786,789],{"class":464,"line":778},8,[462,780,486],{"class":468},[462,782,489],{"class":468},[462,784,785],{"class":468}," void",[462,787,788],{"class":475}," mostrarConfiguracion",[462,790,522],{"class":479},[462,792,794,797,799],{"class":464,"line":793},9,[462,795,796],{"class":479},"        System.out.",[462,798,688],{"class":475},[462,800,801],{"class":479},"(configuracionGlobal);\n",[462,803,805],{"class":464,"line":804},10,[462,806,544],{"class":479},[462,808,810],{"class":464,"line":809},11,[462,811,550],{"class":479},[437,813,815,816,818],{"id":814},"combinaciones-de-static-y-niveles-de-acceso","Combinaciones de ",[423,817,425],{}," y niveles de acceso",[427,820,821,822,824],{},"Los miembros ",[423,823,425],{}," pueden tener cualquier nivel de acceso (público, privado, protegido o paquete). Por ejemplo:",[826,827,828,841],"table",{},[829,830,831],"thead",{},[832,833,834,838],"tr",{},[835,836,837],"th",{},"Modificador de acceso",[835,839,840],{},"Descripción",[842,843,844,855,865,875],"tbody",{},[832,845,846,852],{},[847,848,849],"td",{},[423,850,851],{},"public static",[847,853,854],{},"El miembro es accesible desde cualquier clase.",[832,856,857,862],{},[847,858,859],{},[423,860,861],{},"private static",[847,863,864],{},"El miembro solo es accesible dentro de la clase donde se declara.",[832,866,867,872],{},[847,868,869],{},[423,870,871],{},"protected static",[847,873,874],{},"El miembro es accesible dentro del mismo paquete y por las subclases.",[832,876,877,882],{},[847,878,879,881],{},[423,880,425],{}," (paquete)",[847,883,884],{},"El miembro es accesible solo dentro del mismo paquete.",[418,886,421,888],{"id":887},"modificador-final",[423,889,890],{},"final",[427,892,429,893,895],{},[423,894,890],{}," se utiliza para indicar que un miembro (variable, método o clase) no puede ser modificado después de su declaración.",[437,897,440,899],{"id":898},"variables-final",[423,900,890],{},[427,902,445,903,905],{},[423,904,890],{}," debe ser inicializada una sola vez y no puede cambiar su valor después de eso.",[453,907,909],{"className":455,"code":908,"language":457,"meta":458,"style":458},"public class Constantes {\n    public static final double PI = 3.14159;\n}\n",[423,910,911,922,944],{"__ignoreMap":458},[462,912,913,915,917,920],{"class":464,"line":465},[462,914,469],{"class":468},[462,916,472],{"class":468},[462,918,919],{"class":475}," Constantes",[462,921,480],{"class":479},[462,923,924,926,928,931,934,937,939,942],{"class":464,"line":483},[462,925,486],{"class":468},[462,927,489],{"class":468},[462,929,930],{"class":468}," final",[462,932,933],{"class":468}," double",[462,935,936],{"class":479}," PI ",[462,938,498],{"class":468},[462,940,941],{"class":501}," 3.14159",[462,943,505],{"class":479},[462,945,946],{"class":464,"line":508},[462,947,550],{"class":479},[437,949,554,951],{"id":950},"métodos-final",[423,952,890],{},[427,954,559,955,957],{},[423,956,890],{}," no puede ser sobrescrito por las subclases. Esto es útil para garantizar que el comportamiento de un método específico no sea alterado por clases derivadas.",[453,959,961],{"className":455,"code":960,"language":457,"meta":458,"style":458},"public class Animal {\n    public final void hacerSonido() {\n        System.out.println(\"El animal hace un sonido\");\n    }\n}\n",[423,962,963,974,987,1000,1004],{"__ignoreMap":458},[462,964,965,967,969,972],{"class":464,"line":465},[462,966,469],{"class":468},[462,968,472],{"class":468},[462,970,971],{"class":475}," Animal",[462,973,480],{"class":479},[462,975,976,978,980,982,985],{"class":464,"line":483},[462,977,486],{"class":468},[462,979,930],{"class":468},[462,981,785],{"class":468},[462,983,984],{"class":475}," hacerSonido",[462,986,522],{"class":479},[462,988,989,991,993,995,998],{"class":464,"line":508},[462,990,796],{"class":479},[462,992,688],{"class":475},[462,994,595],{"class":479},[462,996,997],{"class":693},"\"El animal hace un sonido\"",[462,999,680],{"class":479},[462,1001,1002],{"class":464,"line":515},[462,1003,544],{"class":479},[462,1005,1006],{"class":464,"line":525},[462,1007,550],{"class":479},[437,1009,1011,1012],{"id":1010},"clases-final","Clases ",[423,1013,890],{},[427,1015,1016,1017,1019],{},"Una clase ",[423,1018,890],{}," no puede ser extendida por otras clases. Esto se utiliza para evitar que una clase sea heredada y modificada.",[453,1021,1023],{"className":455,"code":1022,"language":457,"meta":458,"style":458},"public final class Utilidades {\n    \u002F\u002F Métodos y variables de utilidad\n}\n",[423,1024,1025,1037,1042],{"__ignoreMap":458},[462,1026,1027,1029,1031,1033,1035],{"class":464,"line":465},[462,1028,469],{"class":468},[462,1030,930],{"class":468},[462,1032,472],{"class":468},[462,1034,579],{"class":475},[462,1036,480],{"class":479},[462,1038,1039],{"class":464,"line":483},[462,1040,1041],{"class":537},"    \u002F\u002F Métodos y variables de utilidad\n",[462,1043,1044],{"class":464,"line":508},[462,1045,550],{"class":479},[418,1047,1049],{"id":1048},"conclusión","Conclusión",[427,1051,1052,1053,1055,1056,1058],{},"Los modificadores de acceso ",[423,1054,425],{}," y ",[423,1057,890],{}," son herramientas poderosas en Java que permiten controlar el comportamiento de las clases, métodos y variables. El uso adecuado de estos modificadores puede mejorar la eficiencia, la seguridad y la claridad del código, facilitando la creación de programas robustos y bien estructurados.",[1060,1061,1062],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}",{"title":458,"searchDepth":483,"depth":483,"links":1064},[1065,1076,1085],{"id":420,"depth":483,"text":1066,"children":1067},"Modificador static",[1068,1070,1072,1074],{"id":439,"depth":508,"text":1069},"Variables static",{"id":553,"depth":508,"text":1071},"Métodos static",{"id":707,"depth":508,"text":1073},"Bloques static",{"id":814,"depth":508,"text":1075},"Combinaciones de static y niveles de acceso",{"id":887,"depth":483,"text":1077,"children":1078},"Modificador final",[1079,1081,1083],{"id":898,"depth":508,"text":1080},"Variables final",{"id":950,"depth":508,"text":1082},"Métodos final",{"id":1010,"depth":508,"text":1084},"Clases final",{"id":1048,"depth":483,"text":1049},"En esta sección, exploraremos los modificadores de acceso `static` y `final` en Java, que son fundamentales para controlar el comportamiento de las clases, métodos y variables.","md",null,{"editButton":42},{"icon":105},{"title":102,"description":1086},"NekfavH24lMoiuZyATYO6DBbYXQca60m-mk-1gMb1PI",[1094,1096],{"title":97,"path":98,"stem":99,"description":1095,"icon":100,"children":-1},"Descubre qué son los tipos enumerados (enums) en Java, cómo se definen y utilizan, y su importancia en la programación orientada a objetos.",{"title":107,"path":108,"stem":109,"description":1097,"icon":105,"children":-1},"En esta sección, exploraremos el concepto de casting en Java, que es el proceso de convertir un tipo de dato a otro. El casting es fundamental para manejar diferentes tipos de datos y realizar operaciones entre ellos de manera eficiente.",1779479565758]