独自のAndroidカスタムクラスを作成すると、extend
そのネイティブクラスになります。次に、基本メソッドをオーバーライドする場合は、、などでいつも行うように、常にメソッドsuper()
を呼び出します。onCreate
onStop
super
そして、Androidチームが最初からすべてのメソッドのオーバーライドを常に呼び出すようにアドバイスしていたので、これがそれだと思いました。
しかし、多くの本で、私より経験豊富な開発者が電話super
を省略していることがよくあり、知識の欠如としてそれを行っているとは本当に思えません。たとえば、この基本的なSAXパーサークラスを見てください。ここでは、、および:super
で省略されています。startElement
characters
endElement
public class SAXParser extends DefaultHandler{
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if(qName.equalsIgnoreCase("XXY")) {
//do something
}
}
public void characters(char[] ch, int start, int length) throws SAXException {
//do something
}
public void endElement(String uri, String localName, String qName) throws SAXException {
if(qName.equalsIgnoreCase("XXY")) {
//do something
}else () {
//do something
}
}
}
Eclipseまたはその他のIDEを介してオーバーライドメソッドを作成しようとすると、super
常に自動化されたプロセスの一部として作成されます。
これは単純な例です。本は似たようなコードでいっぱいです。
super
いつ電話をかけなければならないのか、いつ電話を省略できるのかをどうやって知るのでしょうか。
PS。この特定の例にバインドしないでください。これは、多くの例からランダムに選択された単なる例です。
(これは初心者の質問のように聞こえるかもしれませんが、私は本当に混乱しています。)