为什么需要声明摘要。我需要替代方法在我的主活动上实现方向查找器侦听器



测向仪出错:

类方向查找器必须声明为抽象或实现 抽象方法 onDirectionFinderStart in DirectionFinderListener

[这里] 方向查找器..有没有办法在这里实现DirectionFinderListener??

public class MainActivity extends BaseActivityLocation
implements NavigationView.OnNavigationItemSelectedListener, DirectionFinderListener {

public class DirectionFinder implements DirectionFinderListener {
}

另外,如果我把摘要放在这里。我得到 原因:java.lang.Instantiation异常:无法实例化类

public abstract class MainActivity extends BaseActivityLocation
implements NavigationView.OnNavigationItemSelectedListener, DirectionFinderListener {

接口: 这是我收到错误的地方。 我无法在我的 MainActivity 上实现 onDirectionFinderStart((。

public interface DirectionFinderListener {
void onDirectionFinderStart();
void onDirectionFinderSuccess(List<Route> route);
}

这个问题归结为一些Java基础知识。什么是abstract类?implement接口意味着什么。等。我可以尝试给你一个快速的概述,但你应该自己做更多的阅读。

接口是一组方法。类可以声明它们implement接口,但通过这样做,它们承诺将支持接口中定义的方法。

abstract类是无法实例化的类。有什么意义?抽象类可以定义abstract方法。就像接口一样,该类保证有人将编写子类,并且该类将支持这些方法。

综合起来,你就有了答案。如果将implements DirectionFinderListener添加到类声明中,则有两个选择:实现DirectionFinderListener中列出的所有方法,或者声明类abstract。如果你声明你的类abstract,你将无法实例化它(你必须编写一些子类来实现你选择不在超类中实现的所有方法,你将能够实例化它(。

抽象类:https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

接口:https://docs.oracle.com/javase/tutorial/java/concepts/interface.html

最新更新