переопределение Java при создании объекта - PullRequest
13 голосов
/ 01 октября 2009

в следующем Java-коде создается JButton, но в то же время один из его методов переопределяется. Вопрос: есть ли имя для переопределения таким образом при создании объекта?

код:

   JButton myButton;
   myButton = new JButton ("ok"){

        @Override
        public void setText(String text) {
            super.setText(text +", delete");
        }

метка jbutton теперь "ок, удали"

1 Ответ

20 голосов
/ 01 октября 2009

Это анонимный класс. От Java в двух словах

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

Это обычное средство обеспечения специализации базового класса без явного определения нового класса с помощью выражения class.

...