• Зачем нужны анонимные классы в java и как к ним обратиться?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Это у вас не анонимный класс, а внутренний класс. Обращаться к нему можно из любого места внешнего класса, ну и из самого себя.
    А анонимный класс, как следует из названия, имени не имеет. И создается например из интерфейса, реализуя его методы на месте.

    Внутренние классы могут быть закрытыми (private/protected) по умолчанию и видны будут только из внешнего класса, либо быть публичными (public static) и быть доступны всему приложению. Обычно используются, чтобы не раздувать структуру файлов-классов и для внутреннего применения в качестве временных хранилищ и оберток.

    Анонимный же класс создается на месте использования и служит для применения в конкретном месте приложения. В примере ниже мы в переменную threadзаписываем инcтанс нового класса, наследуемого от Thread с перегруженным методом run

    class MyThread  
    { 
        public static void main(String[] args) 
        { 
             // Создаем расширение стандартного класса Thread с переопределением метода run()
             Thread thread = new Thread()
            { 
                public void run() 
                { 
                    System.out.println("Child Thread"); 
                } 
            }; 
            thread.start(); 
            System.out.println("Main Thread"); 
        } 
    }
    Ответ написан
    Комментировать