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

private Palabra clave en Java

La palabra clave private en Java es un modificador de acceso que se utiliza para restringir la visibilidad de los campos, métodos y constructores a la clase que los define. Este mecanismo de encapsulación ayuda a proteger el estado interno de un objeto y favorece la ocultación de datos.

Utilización

El modificador de acceso private garantiza que los miembros (campos, métodos, constructores) de una clase sólo sean accesibles dentro de la misma clase. Se suele utilizar para reforzar la encapsulación e impedir el acceso no autorizado desde fuera de la clase.

Syntax

class ClassName {
    private dataType fieldName;
    
    private returnType methodName() {
        // method body
    }
}
  • dataType fieldName: Declaración de un campo privado.
  • returnType methodName(): Declaración de un método privado.

Ejemplos

Ejemplo 1: Campo privado

public class Person {
    private String name;
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
}

En este ejemplo, el campo name se declara como private, lo que significa que no se puede acceder a él directamente desde fuera de la clase Person. Los métodos setName y getName proporcionan un acceso controlado a este campo.

Ejemplo 2: Método privado

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    
    private int subtract(int a, int b) {
        return a - b;
    }
    
    public int performSubtraction(int a, int b) {
        return subtract(a, b);
    }
}

Aquí, el método subtract es privado y sólo puede invocarse dentro de la clase Calculator. El método performSubtraction proporciona una interfaz pública para utilizar el método subtract.

Ejemplo 3: Constructor privado

public class Singleton {
    private static Singleton instance;
    
    private Singleton() {
        // private constructor
    }
    
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Este ejemplo demuestra un patrón singleton en el que el constructor es privado, lo que garantiza que sólo se pueda crear una instancia de la clase Singleton. El método getInstance permite acceder a la instancia única.

Consejos y buenas prácticas

  • Encapsulación: Utiliza private para encapsular el estado interno de una clase y exponer sólo los métodos necesarios para interactuar con ese estado.
  • Acceso controlado: Proporciona métodos getter y setter públicos para controlar cómo se accede a los campos privados y cómo se modifican.
  • Clases inmutables: Para clases inmutables, haz que los campos sean private y final, y evita proporcionar setters.
    public class ImmutableClass {
        private final int value;
        
        public ImmutableClass(int value) {
            this.value = value;
        }
        
        public int getValue() {
            return value;
        }
    }
  • Seguridad: Utiliza private para ocultar métodos y datos sensibles que no deben exponerse a otras clases.
  • Patrón Singleton: En los patrones singleton, utiliza un constructor privado para evitar la instanciación directa de la clase.

Aprende Java Essentials

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