Как узнать какой класс запущен из командной строки java?
Статические методы не наследуются, так что через рефлексию это не получить.
Два варианта, пришедшие мне в голову:
В классах Recv и Send описать свои методы main, которые просто вызывают Robot.main, тогда в Robot.main можно получить информацию о вызываемом классе из стектрейса:StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
stackTrace[stackTrace.length - 1].getClassName();
Второй вариант - посмотреть системную переменную sun.java.command, которая указывает на класс, который был запущен.System.getProperty("sun.java.command");
Вопрос только в практическом применении этого.
Сделайте по-человечески. 
Первое - как можно быстрее уйти от статики. Делаете у робота protected final void run(String[] arts){...тут код из main...}
Второе - у каждого из наследников делаете метод main - очень простой. Внутри него одна строчка - например, new Send().run();
Теперь в run можно по getClass определить, кто вы.
Но! Это довольно плохо - когда предок знает о потомках. Вам надо придумать, как оставить всё общее в Robot, а все различия вынести в его потомков, используя полиморфизм.
Наследование статических классов(имеющих только статические методы) - это бессмысленно чуть более, чем полностью.