Is ConsoleProgram a subclass of Thread, or is it implementing Runnable? If it was, then what you are doing when you create a run() method, is you are telling it what the thread will execute (by overriding the run() method)
If ConsoleProgram extends Thread:
AverageTwoDoubles avg = new AverageTwoDoubles();
avg.start()
That will run the code inside the run() method.
If ConsoleProgram implements Runnable
Thread t = new Thread(new AverageTwoDoubles());
t.start();
That will run the code in the run() method (again in a separate thread)
edit: if ConsoleProgram doesn't extend Thread, nor implement Runnable, then you are simply creating a method called run() that executes some code.