以下は、Javaで数の階乗を再帰的に計算するコードである。

```
public static int calcularFactorial(int numero) {
    if (numero == 0) {
        return 1;
    }
    return numero * calcularFactorial(numero - 1);
}
```

例えば、5の階乗を計算したい場合、再帰メソッドは次のように実行される：
これが再帰を停止する基本ケースである。
2º 数が0でなければ、再帰的に呼び出されたメソッドの結果に、数を1だけ減じた数を乗じます。
3º 基本ケースに達するまで再帰が続き、元の数の階乗が計算されるまで再帰呼び出しの結果が返される。

```
factorial(5) = 5 * factorial(4)
factorial(4) = 4 * factorial(3)
factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)
factorial(1) = 1 * factorial(0)
factorial(0) = 1
```

最終結果は5 * 4 * 3 * 2 * 1 = 120である。
Aquí está el código para calcular el factorial de un número recursivamente en Java.

public static int calcularFactorial(int numero) {
    if (numero == 0) {
        return 1;
    }
    return numero * calcularFactorial(numero - 1);
}

Por ejemplo, si quieres calcular el factorial de 5, el método recursivo se ejecutaría de la siguiente manera:
1º. Verifica si el número es 0, y si es así, devuelve 1. Este es el caso base que detiene la recursión.
2º Si el número no es 0, se multiplica por el resultado de la llamada recursiva al método con un número decrementado en 1.
3º La recursión continúa hasta que se alcanza el caso base y se comienza a devolver los resultados de las llamadas recursivas hasta calcular el factorial del número original.

factorial(5) = 5 * factorial(4)
factorial(4) = 4 * factorial(3)
factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)
factorial(1) = 1 * factorial(0)
factorial(0) = 1

Siendo el resultado final 5 * 4 * 3 * 2 * 1 = 120.