静态方法的抽象类。那是对的吗?

时间:2012-01-01 13:07:59

标签: java android

任务:我想为许多类使用一些方法。方法相同,因此不需要为每个类实现它们。在我的情况下 - 我使用Android SDK,我发送http请求到服务器。

问题:有想法使用这样的结构:

class abstract MethodsCarrier{

    public static void method1(){ /*something*/ }
    public static int method2(){ /*return something*/ }

}

它有效,没有问题。但我不确定这个课程是否抽象。它是一种正确的方式吗?

1 个答案:

答案 0 :(得分:6)

我更喜欢没有公共构造函数的final类。这就是sun使用Math类的方式,所以我认为这是在java中执行此操作的常规方法。


但在你的情况下,我会避免静电。静态方法适用于不访问任何外部(或全局可变)状态的无副作用函数。 http请求可以访问外部状态。

我使用这些方法定义一个接口,编写一个执行请求的实现,然后使用IoC容器将其注入到单个上下文中的消费代码中。这样你就可以模拟界面,所以你不需要在测试时发出http请求。