Разработка 2D-игры для Windows Phone 8 [закрыто]

Анонимный внутренний класс используется для создания объекта, который никогда не будет ссылаться снова. Он не имеет имени и объявляется и создается в том же самом заявлении. Это используется там, где вы обычно используете переменную объекта. Вы заменяете переменную ключевым словом new, вызовом конструктора и определением класса внутри { и }.

При написании Threaded Program в Java это обычно выглядит так:

ThreadClass task = new ThreadClass();
Thread runner = new Thread(task);
runner.start();

Используемый здесь ThreadClass будет определяться пользователем. Этот класс будет реализовывать интерфейс Runnable, необходимый для создания потоков. В ThreadClass также необходимо реализовать метод run() (только метод из Runnable). Понятно, что избавление от ThreadClass было бы более эффективным, и именно поэтому существуют Анонимные Внутренние Классы.

Посмотрите на следующий код

Thread runner = new Thread(new Runnable() {
    public void run() {
        //Thread does it's work here
    }
});
runner.start();

Этот код заменяет ссылку сделанный в task в самом верхнем примере. Вместо того, чтобы иметь отдельный класс, Анонимный Внутренний Класс внутри конструктора Thread() возвращает неназванный объект, который реализует интерфейс Runnable и переопределяет метод run(). Метод run() будет включать в себя заявления внутри, которые выполняют работу, требуемую потоком.

Отвечая на вопрос о том, является ли анонимные внутренние классы одним из преимуществ Java, я должен сказать, что я не совсем уверен, поскольку я не знаком со многими языками программирования на данный момент. Но я могу сказать, что это, безусловно, более быстрый и простой способ кодирования.

Ссылки: Sams Teach Yourself Java в 21 день Седьмое издание

30
задан Vaccano 25 November 2012 в 04:59
поделиться