Правильно описал происходящее ?
package com.javarush.task.task25.task2505;

/*
Без дураков
*/
public class Solution {

    public static void main(String[] args) {
        MyThread myThread = new Solution().new MyThread("super secret key");//Создается новый экземпляр
        // класса MyThread
        myThread.start(); //запускаю поток
    }

    public class MyThread extends Thread {
        private String secretKey;

        public MyThread(String secretKey) {//конструктор с параметром String
            this.secretKey = secretKey;
            setUncaughtExceptionHandler(new MyUncaughtExceptionHandler());//вызывается новый экземпляр класса
            //который я должен создать
            setDaemon(true);
        }

        @Override
        public void run() {
            throw new NullPointerException("it's an example");
        }
    }

}