Ir al contenido principal
Documentos
Java keywordsMatrices JavaProgramación orientada a objetos en JavaJava File HandlingIntroducción a JavaConceptos básicos del lenguaje Java

Palabra clave protegida en Java

La palabra clave protected en Java es un modificador de acceso que se utiliza para las variables miembro y los métodos. Proporciona un nivel de control de acceso que permite el acceso dentro del mismo paquete y por parte de subclases, aunque estén en paquetes diferentes.

Utilización

El modificador de acceso protected se utiliza para restringir el acceso a los miembros de una clase de forma que sean accesibles dentro de su propio paquete y por las subclases. Esto es especialmente útil para crear una estructura de herencia controlada.

Syntax

protected dataType variableName;
protected returnType methodName() {
    // method body
}
  • dataType: El tipo de la variable.
  • variableName: El nombre de la variable.
  • returnType: El tipo de retorno del método.
  • methodName: El nombre del método.

Ejemplos

Ejemplo 1: Variable protegida

package com.example;

public class Parent {
    protected int protectedVariable = 100;
}

package com.example;

public class Child extends Parent {
    public void display() {
        System.out.println("Protected Variable: " + protectedVariable);
    }
}

En este ejemplo, protectedVariable se declara con la palabra clave protected en la clase Parent. La clase Child, que es una subclase de Parent, puede acceder a protectedVariable e imprimir su valor.

Ejemplo 2: Método protegido

package com.example;

public class Parent {
    protected void protectedMethod() {
        System.out.println("This is a protected method.");
    }
}

package com.example;

public class Child extends Parent {
    public void callProtectedMethod() {
        protectedMethod();
    }
}

Aquí, protectedMethod es un método protegido de la clase Parent. La clase Child puede llamar a este método porque es una subclase de Parent.

Ejemplo 3: Acceso en paquete diferente

package com.example.parent;

public class Parent {
    protected void protectedMethod() {
        System.out.println("Protected method in Parent class.");
    }
}

package com.example.child;

import com.example.parent.Parent;

public class Child extends Parent {
    public void callProtectedMethod() {
        protectedMethod();
    }
}

public class Test {
    public static void main(String[] args) {
        Child child = new Child();
        child.callProtectedMethod();
    }
}

En este ejemplo, la clase Parent está en el paquete com.example.parent, y la clase Child está en el paquete com.example.child. La clase Child puede seguir accediendo a la protectedMethod de la clase Parent porque es una subclase.

Consejos y buenas prácticas

  • Herencia controlada: Utiliza protected para permitir que las subclases accedan a los miembros manteniéndolos ocultos a otras clases de paquetes diferentes.
  • Acceso al paquete: Recuerda que los miembros de protected también son accesibles para otras clases del mismo paquete.
  • Encapsulación: Utiliza protected para equilibrar encapsulación y herencia, exponiendo sólo los miembros necesarios a las subclases.
  • Evita la sobreexposición: Ten cuidado de no abusar de protected, ya que podría exponer demasiado el funcionamiento interno de la clase a las subclases y a otras clases del mismo paquete.
  • Documentación: Documenta claramente el uso previsto de los miembros protegidos para evitar usos indebidos o accesos no intencionados.
  • Acceso a través de instancias de subclases: Comprende que se puede acceder a los miembros protegidos a través de instancias de subclases, aunque la instancia esté declarada en un paquete diferente.

Aprende Java Essentials

Desarrolla tus conocimientos de Java desde la base y domina los conceptos de programación.
Empieza a aprender gratis