强制子类在java中设置内部类

强制子类在java中设置内部类,java,android,abstract-class,abstract,Java,Android,Abstract Class,Abstract,我正在开发一个需要使用蓝牙的应用程序。问题是,我有几个活动使用蓝牙通信,我正在创建一个类来进行通信。为此,我需要将结果重新发送到活动。 我正在尝试执行以下活动: public abstract class MyCommunicationActivity extends Activity { public static class MYHANDLER extends Handler{}; } public abstract Handler getHandler(); 我想强制每

我正在开发一个需要使用蓝牙的应用程序。问题是,我有几个活动使用蓝牙通信,我正在创建一个类来进行通信。为此,我需要将结果重新发送到活动。 我正在尝试执行以下活动:

    public abstract class MyCommunicationActivity extends Activity {
    public static class MYHANDLER extends Handler{};
}
public abstract Handler getHandler();
我想强制每个活动创建一个处理来自通信类的响应的处理程序,这个类将接收一个对象MyCommunication类,这样它就知道该活动将处理一个作为处理程序的子类来处理结果。 我是这样做的,但是我的子类(那些扩展MyCommunicationActivity的子类)没有被强制实现该处理程序


我该怎么做?可能吗?

添加如下方法:

    public abstract class MyCommunicationActivity extends Activity {
    public static class MYHANDLER extends Handler{};
}
public abstract Handler getHandler();

这将强制所有子类实现
getHandler()
,并在那里返回一个处理程序。

通过向内部类添加一个抽象成员使其抽象

public abstract class MyCommunicationActivity extends Activity {
  public static class MYHANDLER extends Handler {
    public abstract void handle();
  }
}

有一个抽象方法
getHandler()
,可以从子类返回一个静态成员变量。我认为有更好的解决方案。请在不同的文件中将处理程序实现为类,并使用处理程序(活动)构造它以访问活动中的公共字段。这是一种组合模式,它不会编译,因为“MYHANDLER”不是抽象的,因此不能有抽象方法。