Вопрос возник следующий - почему с дефолтным конструктором и запуском потока из мейна валидатор не принимал и просил вызвать декремент у обьекта класс RacingClock с перерывом в одну секунду (что вроде как и было сделано)? Решилась проблема доп конструктором в классе RacingClock с запуском нити оттуда сразу при создании. Может из-за миллисекунд на которые уходил переход строчки в компиляторе условия не выполнялись? Кажется что ответил на вопрос пока задавал, но не факт что правильно :)
public class Solution {
    public static volatile int numSeconds = 4;

    public static void main(String[] args) throws InterruptedException {
        RacingClock clock = new RacingClock();
        Thread.sleep(3500);
        clock.interrupt();
    }

    public static class RacingClock extends Thread {

        public void run() {
            while (numSeconds!=0) {
                try {
                    System.out.print(numSeconds + " ");
                    numSeconds--;
                    Thread.sleep(1000);

                } catch (InterruptedException e) {
                    System.out.println("Прервано!");
                    return;
                }
            }
            System.out.println("Марш!");

            }
        }
    }