Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Modificadores de acceso en Java: Tipos, reglas y ejemplos prácticos

Modificadores de acceso en Java

Este tutorial explora los modificadores de acceso en Java, sus cuatro tipos y demuestra su uso mediante ejemplos claros.

¿Qué son los modificadores de acceso?

En Java, los modificadores de acceso definen la visibilidad de clases, interfaces, variables, métodos, constructores y miembros de datos. Por ejemplo:

class Animal { public void metodo1() {...} private void metodo2() {...} }

En el ejemplo anterior, metodo1 es public – accesible desde cualquier clase. metodo2 es private – restringido a la clase contenedora.

Estas palabras clave – public y private – son los modificadores de visibilidad fundamentales en Java.

Nota: Los métodos getter no pueden declararse con un modificador de acceso.

Tipos de modificadores de acceso

Antes de profundizar en los modificadores, asegúrate de comprender los paquetes de Java.

Java ofrece cuatro modificadores de visibilidad principales:

ModificadorDescripción
Default (package‑private)Visible solo dentro del mismo paquete.
PrivateVisible únicamente dentro de la clase declarativa.
ProtectedVisible dentro del paquete y para subclases en otros paquetes.
PublicVisible en todas partes.

Modificador de acceso Default

Cuando no se especifica ningún modificador, Java aplica la visibilidad default (package‑private). Por ejemplo:

package paqueteDefault; class Logger { void mensaje() { System.out.println("Este es un mensaje"); } }

La clase Logger es accesible solo para clases dentro de paqueteDefault. Usarla desde otro paquete resulta en un error de compilación.


Modificador de acceso Private

Declarar un miembro como private confina su acceso a la clase contenedora:

class Dato { private String nombre; } public class Main { public static void main(String[] args) { Dato d = new Dato(); d.nombre = "Programiz"; // ❌ error en tiempo de compilación } }

El error ocurre porque nombre es privado para Dato. Para exponerlo de forma segura, proporciona métodos de acceso:

class Dato { private String nombre; public String getNombre() { return this.nombre; } public void setNombre(String nombre) { this.nombre = nombre; } } public class Main { public static void main(String[] args) { Dato d = new Dato(); d.setNombre("Programiz"); System.out.println(d.getNombre()); } }

Salida:

El nombre es Programiz

Ten en cuenta que las clases anidadas pueden declararse private, pero las clases e interfaces de nivel superior no.

Nota: Java no permite que las clases o interfaces de nivel superior sean private.

Modificador de acceso Protected

Los miembros marcados protected son visibles dentro del mismo paquete y para subclases en otros paquetes. Ejemplo:

class Animal { protected void mostrar() { System.out.println("Soy un animal"); } } class Perro extends Animal { public static void main(String[] args) { Perro perro = new Perro(); perro.mostrar(); // ✅ permitido } }

Salida:

Soy un animal

Los miembros protected no pueden declararse en clases o interfaces de nivel superior.

Nota: Las clases e interfaces de nivel superior no pueden ser protected.

Modificador de acceso Public

Los miembros declarados public son universalmente accesibles:

// Animal.java public class Animal { public int numeroPatas; public void mostrar() { System.out.println("Soy un animal."); System.out.println("Tengo " + numeroPatas + " patas."); } } // Main.java public class Main { public static void main(String[] args) { Animal animal = new Animal(); animal.numeroPatas = 4; animal.mostrar(); } }

Salida:

Soy un animal. Tengo 4 patas.

Resumen: Animal (clase pública), numeroPatas (campo público) y mostrar() (método público) son todos accesibles desde Main.


Modificadores de acceso resumidos en una figura

Modificadores de acceso en Java: Tipos, reglas y ejemplos prácticos

Los modificadores de acceso sustentan la encapsulación, permitiendo a los desarrolladores controlar la visibilidad y proteger la integridad de los datos. Para más información sobre encapsulación, consulta Encapsulación en Java.

Java

  1. Entendiendo los modificadores de acceso en C#: Public, Private, Protected, Internal y más
  2. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  3. Comentarios en Java: Tipos, Uso y Mejores Prácticas
  4. Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
  5. Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
  6. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  7. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  8. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  9. Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
  10. Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
  11. Entendiendo Java Vector: Uso, Características y Comparación con ArrayList