Поскольку анонимные классы расширяют данный класс, вы можете хранить их в переменной.
например.
Thread t = new Thread()
{
public void run() {
System.out.println("blah");
}
};
t.start();
В качестве альтернативы, вы можете просто вызвать метод start для объекта, который у вас есть, немедленносоздал.
new Thread()
{
public void run() {
System.out.println("blah");
}
}.start();
// similar to new Thread().start();
Хотя лично я бы посоветовал создать анонимный экземпляр Runnable, а не Thread, так как компилятор предупредит вас, если вы случайно ошиблись в сигнатуре метода (для анонимного класса это предупредитв любом случае, я думаю, что анонимные классы не могут определять новые не приватные методы).
например
new Thread(new Runnable()
{
@Override
public void run() {
System.out.println("blah");
}
}).start();