两个类重写相同的方法

时间:2014-02-27 03:51:57

标签: java android override android-geofence

我正在尝试检测Geofences,这需要onConnected()接口中的ConnectionCallBacks函数。但是我也在片段(单独的类)中使用此接口,并在那里覆盖onConnected()方法。是否有可能有两个不同的类重写相同的方法?或者只使用一个函数实例?

我一直在试图找出为什么Geofences没有出现在我的通知中,因为我知道它们正在被创建。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

因此,Java支持多个接口,因此,它允许尽可能多的实现,表示在java类Connect5中有5个不同的接口,并且它们都具有相同的onConnected()方法。但请记住,创建的对象受限于单个Java类,因此只有一个onConnected()方法暴露给该对象。现在,如果Connect5类型的对象c5也从另一个Java类Connect4扩展并实现了接口IConnect4,它也具有onConnected()方法,并且只在Connect4类中实现,但在Connect5中不实现。现在你有一个Connect5类的对象c5并传递给一个接受IConnect4然后调用的方法((IConnect4)c5).onConnected()仍然在Connect5类上执行onConnected()实现。但是,您可以调用c5.super.onConnected()将调用Connect4类上的实现。现在,当你决定通过匿名内部类重新开始覆盖这些onConnected()方法时,危险就来了。