Question: when I use `Thread.sleep();`, it pauses my entire program. Is there anything that pauses one class without using multithreading?

Answer: 
You can't pause a "class" per se. A class is just a "dead" container.

What you can do is pause a thread or a task.

Typically, you would create a separate thread to run the task you want to pause, and pause it when you like - because it runs in a separate thread, it will not hang you whole program.

See this simple example which you can run to better understand how threads can run in parallel:

```
public static void main(String[] args) throws InterruptedException {
    Runnable lazyTask = new Runnable() {

        @Override
        public void run() {
            System.out.println("Lazy: I feel like sleeping for a second");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {}
            System.out.println("Lazy: I feel better now");
        }
    };

    new Thread(lazyTask).start();
    //Let's wait a bit until the lazy task goes to sleep
    Thread.sleep(100);
    //now you can do something that will not hang
    System.out.println("Main: I'm sleeping too, but only half a second");
    Thread.sleep(500);
    System.out.println("Main: And I can continue my job while that lazy task is still asleep");
}

```
No. You cannot. You have the main thread . Sleep will pause it. If you want stop run something without affect the main thread you need to fork it from the main thread , by use addiotnal thread