Что это за тип вызова конструктора Java?

Я никогда не сталкивался с чем-то подобным и не знаю этого типа кодирования! Что это? (Я новичок в Java)

DefaultHandler handler = new DefaultHandler() {

            boolean bfname = false;
            boolean blname = false;
            boolean bnname = false;
            boolean bsalary = false;

            public void startElement(String uri, String localName,String qName, 
                    Attributes attributes) throws SAXException {

                // code

            }

            public void endElement(String uri, String localName,
                    String qName) throws SAXException {

                // code

            }

            public void characters(char ch[], int start, int length) throws SAXException {

                // code
        };

После вызова конструктора стоит скобка (!?) И кажется, что происходит переопределение некоторых методов. Затем фигурная скобка заканчивается точкой с запятой. Я никогда не видел скобок после вызова конструктора. Это нормально? Как это называется? Спасибо!

p.s: в Eclipse, если я удалю точку с запятой, появится сообщение об ошибке LocalVariableDeclarationStatement .

6
задан Unai Vivi 6 February 2012 в 23:23
поделиться