Vah*_*yan 6 android overriding
当我们覆盖子类中的方法时,我们在此方法中调用超类方法,例如:
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
width = w ;
height = h ;
Log.d(TAG, "onSizeChanged: width " + width + ", height "+ height);
super.onSizeChanged(w, h, oldw, oldh);
}
Run Code Online (Sandbox Code Playgroud)
那我们为什么要打电话super.onSizeChanged()呢?
我删除了该行super.onSizeChanged(),结果与它相同.
或者在onCreate方法中,我们调用super.onCreate().
有一些方法可以做一些重要的事情,例如 Activity 的 onCreate 和 onPause 方法。如果您在不调用 super 方法的情况下覆盖它们,那么这些事情就不会发生,并且 Activity 将无法正常运行。在其他情况下(通常当您实现接口时),没有您重写的实现,只有声明,因此不需要调用 super 方法。
还有一件事,有时您重写一个方法,您的目的是更改原始方法的行为,而不是扩展它。在这些情况下,您不应调用 super 方法。一个例子是摆动组件的绘制方法。
| 归档时间: |
|
| 查看次数: |
4500 次 |
| 最近记录: |