in

Modificadores de acceso en Java – GeeksforGeeks

gfg 200x200 min

Como sugiere el nombre, los modificadores de acceso en Java ayudan a restringir el alcance de una clase, constructor, variable, método o miembro de datos. Hay cuatro tipos de modificadores de acceso disponibles en Java:

  1. Predeterminado: no se requiere palabra clave
  2. Privado
  3. Protegido
  4. Público

modificadores de acceso en java

  • Defecto: Cuando no se especifica ningún modificador de acceso para una clase, método o miembro de datos: se dice que tiene el defecto modificador de acceso por defecto.
    • Los miembros de datos, la clase o los métodos que no se declaran utilizando ningún modificador de acceso, es decir, que tienen un modificador de acceso predeterminado, son accesibles. solo dentro del mismo paquete.

En este ejemplo, crearemos dos paquetes y las clases en los paquetes tendrán los modificadores de acceso predeterminados e intentaremos acceder a una clase de un paquete de una clase del segundo paquete.

Java

package p1; 

 

class Geek 

    void display() 

    

        System.out.println("Hello World!"); 

    

Java

package p2; 

import p1.*; 

 

class GeekNew 

    public static void main(String args[]) 

    

        

        Geeks obj = new Geek(); 

 

        obj.display(); 

    

Producción:

Compile time error
  • Privado: El modificador de acceso privado se especifica mediante la palabra clave privado.
    • Solo se puede acceder a los métodos o miembros de datos declarados como privados dentro de la clase en el que se declaran.
    • Cualquier otro clase de los mismo paquete no podrá acceder estos miembros.
    • Las clases o interfaces de nivel superior no se pueden declarar como privadas porque
      1. privado significa «solo visible dentro de la clase adjunta».
      2. protegido significa «solo visible dentro de la clase circundante y cualquier subclases»

Por lo tanto, estos modificadores en términos de aplicación a clases, se aplican solo a clases anidadas y no a clases de nivel superior.

En este ejemplo, crearemos dos clases A y B dentro del mismo paquete p1. Declararemos un método en la clase A como privado e intentaremos acceder a este método desde la clase B y veremos el resultado.

Java

package p1; 

 

class

private void display() 

    

        System.out.println("GeeksforGeeks"); 

    

 

class

public static void main(String args[]) 

    

        A obj = new A(); 

        

        

        obj.display(); 

    

Producción:

error: display() has private access in A
        obj.display();
  • protegido: El modificador de acceso protegido se especifica mediante la palabra clave protegido.
    • Los métodos o miembros de datos declarados como protegidos son accesible dentro del mismo paquete o subclases en diferentes paquetes.

En este ejemplo, crearemos dos paquetes p1 y p2. Se hace pública la clase A en p1, para acceder a ella en p2. La visualización del método en la clase A está protegida y la clase B se hereda de la clase A y luego se accede a este método protegido creando un objeto de clase B.

Java

package p1; 

 

public class

protected void display() 

    

        System.out.println("GeeksforGeeks"); 

    

Java

package p2; 

import p1.*;

 

class B extends

public static void main(String args[]) 

    B obj = new B(); 

    obj.display(); 

     

Producción:

GeeksforGeeks
  • público: El modificador de acceso público se especifica mediante la palabra clave público.
    • El modificador de acceso público tiene la alcance más amplio entre todos los demás modificadores de acceso.
    • Las clases, métodos o miembros de datos que se declaran como públicos son accesible desde todas partes en el programa. No hay restricción en el alcance de los miembros de datos públicos.

Java

package p1; 

public class

public void display() 

    

        System.out.println("GeeksforGeeks"); 

    

}

Java

package p2;

import p1.*;

class B {

    public static void main(String args[])

    {

        A obj = new A;

        obj.display();

    }

}

Producción:

GeeksforGeeks

Puntos importantes:

  • Si otros programadores usan su clase, intente usar el nivel de acceso más restrictivo que tenga sentido para un miembro en particular. Use privado a menos que tenga una buena razón para no hacerlo.
  • Evite los campos públicos excepto las constantes.

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

python – ¿Cómo obtener el último elemento de una lista?

Bruce Lee vs Chuck Norris – Diferencia y comparación