2009-10-01 2 views
12

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

код: этикетки

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

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

в JButton сейчас находится "в порядке, удалить"

ответ

18

Это анонимный класс. От Java in a Nutshell

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

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