Probar método privado en Java

MD Aminul Islam 12 octubre 2023
Probar método privado en Java

Si está trabajando como probador, puede realizar muchas operaciones de prueba en el código dado. Pero a veces, realizar una operación de prueba no es accesible si tiene una clase que contiene un método privado.

Un método privado es un método al que no se puede acceder desde el exterior, lo que significa que no se puede llamar desde el exterior. Solo está disponible para los elementos internos de la clase.

Solo responderá a la llamada interna, pero existe una idea a través de la cual puede probar un método privado rápidamente. Este artículo mostrará cómo podemos probar un método privado.

Pruebe el método privado en Java

Supongamos que tenemos una clase como la siguiente que necesitamos probar:

class MyClass {
  private int Sum(int a, int b) { // method is private
    return a + b;
  }
}

Como podemos ver, el código anterior tiene un método privado llamado Sum(). Veamos qué pasa si intentamos probar el método con otra clase llamada Test.

public class Test {
  public static void main(String[] args) {
    // Created an object for the class "MyClass"
    MyClass mc = new MyClass();

    // Error: Called the private method externally
    System.out.println("The result is: " + mc.Sum(4, 5));
  }
}

Te devolverá con el siguiente error:

error: Sum(int,int) has private access in MyClass

Debido a que Sum() es un método privado en la clase MyClass, no podemos acceder a él externamente. Así que ahora, la única forma de comprobarlo es incluir un método público dentro de la clase MyClass que llamará al método Sum().

El método público será como el siguiente:

public int NewSum(int a, int b) {
  // A public method that can call the private method internally.
  return Sum(a, b);
}

El método anterior llamará al método Sum() ya que está dentro de la clase MyClass. Ahora la versión completa de la clase MyClass se verá así:

class MyClass {
  private int Sum(int a, int b) { // Private method
    return a + b;
  }
  public int NewSum(int a, int b) { // Public method
    return Sum(a, b);
  }
}

Después de actualizar MyClass, ahora puede probar el método privado Sum(). Pero necesita llamar al método público NewSum() desde el objeto de MyClass.

Ahora nuestra clase de prueba actualizada tendrá el siguiente aspecto:

class Test {
  public static void main(String[] args) {
    // Created an object for the class "MyClass"
    MyClass mc = new MyClass();

    // Called the public method "NewSum()"
    System.out.println("The result is: " + mc.NewSum(4, 5));
  }
}

En la valla de código anterior, puede ver que hemos llamado a la clase NewSum() desde la clase del objeto MyClass. Si el método Sum() no tiene ningún error o falla, le mostrará el siguiente resultado:

The result is: 9

Arriba, hemos compartido la forma más básica de probar un método privado y ver si funciona bien.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn