当每次初始化类并且方法不是静态的(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();")
}
}
哪一个会更快?静态还是具有类初始化的方法?
对不起,如果我做错了。英语不是我的主要语言。:P
这只取决于你想要实现的目标。将方法或变量设为静态的要点是当您希望能够访问它们而不必创建其父类的实例时。例如:
你可以有一个类来计算体重指数。在该类中,您可以有一个x
将千克转换为磅的方法。现在,人们可以将千克转换为磅,但不想计算其体重指数。在这种情况下,使该方法x
静态是有意义的,因此可以将千克转换为磅,而无需创建新的x
实例。
因此,这实际上与性能无关,而与使用情况有关。