Java 使用静态方法抽象类。对吗?

Java 使用静态方法抽象类。对吗?,java,android,Java,Android,任务:我想对许多类使用一些方法。方法是相同的,因此不需要为每个类实现它们。在我的例子中,我使用android SDK并向服务器发送http请求 问题:有一个想法是使用这样的结构: class abstract MethodsCarrier{ public static void method1(){ /*something*/ } public static int method2(){ /*return something*/ } } 它工作正常,没有问题。但是我不确定这

任务:我想对许多类使用一些方法。方法是相同的,因此不需要为每个类实现它们。在我的例子中,我使用android SDK并向服务器发送http请求

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

class abstract MethodsCarrier{

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

}

它工作正常,没有问题。但是我不确定这个类是否抽象。这是一种正确的方法吗?

我更喜欢没有公共构造函数的
final
类。这就是sun在
Math
类中使用的方法,因此我假设这是java中使用的常规方法


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


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

+1。我还更喜欢符合Java命名约定的方法,因此以小写字母开头。CodeInChaos,您能提供一个在这种情况下使用singleton的简短示例吗?我找到了一些解决方案,但不确定使用哪一个(以及如何使用)。@biovamp我无法提供java示例,因为我不使用java。选择一个反转控制框架,并检查其文档。重要的一点是使用IoC单例,而不是
Class.GetInstance()
singleton。谢谢,你刚刚从.GetInstance():)中救了我。CodeInChaos的建议很好。抽象类通常用作期望子类化的基类,例如
AbstractList