私はこのようなことに遭遇したことがなく、私はこのタイプのコーディングを知らない! これはなんですか?コンストラクタはブレースがある呼び出した後これはどのタイプの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
};
(Iは、Javaにはかなり新しいです)(!?)、いくつかのメソッドのオーバーライドがあるようです。次に、ブレースはセミコロンで終了します。私はコンストラクタコールの後にブレースを見たことがない。それは普通ですか?それはどのように呼び出されますか?ありがとうございました!
p.s:Eclipseでは、セミコロンを削除すると、LocalVariableDeclarationStatement
というエラーが表示されます。
私は、インターフェイスを実装するクラスは、インターフェイスで宣言されたすべてのメソッドを定義する必要があることを知っていました。私の例では、3つのメソッドしか定義されていません! – Angelo
これはインターフェイスではなく、クラスです。 DefaultHandlerのドキュメントをチェックしてください。 –
あなたは正しいですが、 'DefaultHandler'はAbstractClassかもしれず、その場合抽象メソッド – destan