public interface Lunchable {
void run();
}
public abstract class Launcher implements Lunchable {
public final void launch() {
// ...
run();
// ...
}
}
public class MyAppLauncher extends Launcher {
@Override
public void run() {
}
}
public class MyAppLauncher extends Launcher {
@Override
public void run() {
}
}
public class Main {
public static void main(String[] args) {
MyAppLauncher launcher = new MyAppLauncher();
launcher.launch();
}
}