Java - 静态和非静态之间的性能差异

时间:2017-11-16 08:36:33

标签: java class static initialization

当每次初始化类并且方法不是静态的(new Class())或此类中的方法是静态的时,性能的差异有多大,并且它们的用法类似于Class.method()

示例代码:

//File Class1
public class Class1{
    public static void myMethod(){
        System.out.println("Static method, usage: Class1.myMethod();")
    }
}

//File Class2
public class Class2{
    public void myNonStaticMethod(){
        System.out.println("Non static method, usage: Class2 class2 = new Class2(); class2.myNonStaticMethod();")
    }
}

哪一个会更快?静态或类初始化的方法?

PS。对不起,如果我有任何错误。英语不是我的主要语言。 :P

1 个答案:

答案 0 :(得分:0)

这取决于你想要达到的目标。制作方法或变量静态的意义在于您希望能够访问它们而无需创建其父类的实例。例如:

您可以拥有一个用于计算体重指数的类。在该类中,您可以使用方法x将千克转换为磅。现在,人们可以将公斤转换为磅,但不想计算他们的体重指数。在这种情况下,将该方法x设置为静态是有意义的,因此可以将千克转换为磅而无需创建x的新实例。

所以它不是关于性能,而是关于使用。