每当我覆盖一个方法时,我是否需要调用"super.XXX"?

Zhe*_*ren 3 java android overriding

比方说,如果我没有super.onPause从超类调用覆盖方法Activity,我会在onPause()调用时遇到错误.但是,错误不会显示出来,当我有没有super.XXX在方法的调用(onCreate,onStartCommand从派生的类的......) Service.

那么我应该在什么条件下调用super.XXX覆盖方法?

T.J*_*der 7

文件告诉你,你需要调用onPause如果派生Activity类:

派生类必须调用超类的此方法的实现.如果他们不这样做,将抛出异常.

Service文档不要求中onStartCommand的文档.

一般情况下(不是特别在Android的东西),当你派生时,你应该调用超类的方法,除非你知道你不应该.这是一个需要逐个案例的决定,但默认(我会说)就是你这样做.