Making use of private interface methods

Lambda expressions were a big part of the Java 8 release. As a follow-up to that improvement, private methods in interfaces are now feasible. Previously, we could not share data between nonabstract methods of an interface. With Java 9, 10, and 11, this data sharing is possible. Interface methods can now be private. Let's look at some sample code. 

This first code snippet is how we might code an interface in Java 8:

. . . 
public interface characterTravel {
public default void walk() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
p = p +1;
}
public default void run() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
p = p +4;
}
public default void fastWalk() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
p = p +2;
}
public default void retreat() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
p = p - 1;
}
public default void fastRetreat() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
p = p - 4;
}
}

Starting in Java 9, we can rewrite this code. As you can see in the following snippet, the redundant code has been moved into a single private method called characterTravel:

. . .
public interface characterTravel {
public default void walk() {
characterTravel("walk");
}
public default void run() {
characterTravel("run");
}
public default void fastWalk() {
characterTravel("fastWalk");
}
public default void retreat() {
characterTravel("retreat");
}
public default void fastRetreat() {
characterTravel("fastRetreat");
}
private default void characterTravel(String pace) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter desired pacing: ");
int p = scanner.nextInt();
if (pace.equals("walk")) {
p = p +1;
}
else if (pace.equals("run")) {
p = p + 4;
}
else if (pace.equals("fastWalk")) {
p = p + 2;
}
else if (pace.equals("retreat")) {
p = p - 1;
}
else if (pace.equals("fastRetreat"))
{
p = p - 4;
}
else
{
//
}
}
}