【发布时间】:2013-01-07 11:09:01
【问题描述】:
通常在为类编写静态方法时,可以使用ClassName.methodName 访问该方法。在这个简单的例子中使用“静态”的目的是什么?为什么应该/不应该在这里使用它?私有静态也破坏了使用静态的目的吗?
public class SimpleTest {
public static void main(String[] args) {
System.out.println("Printing...");
// Invoke the test1 method - no ClassName.methodName needed but works fine?
test1(5);
}
public static void test1(int n1) {
System.out.println("Number: " + n1.toString());
}
//versus
public void test2(int n1) {
System.out.println("Number: " + n1.toString());
}
//versus
private static void test3(int n1) {
System.out.println("Number: " + n1.toString());
}
}
我看了一些教程。例如。 http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
我的理解是,您可以只使用类名而不是创建类的实例来使用该方法 - 在某些情况下节省内存,每次都构造一个对象以使用特定的方法。
【问题讨论】:
-
您对
static的含义了解多少?你读过书或教程吗?也许您可以编辑您的问题,以解释您认为它的含义是什么。 -
@KingsIndian:在我看来,这不是重复的。链接的问题通常询问何时使方法静态化的规则。这个问题讨论了一个特定的代码示例,并询问了在这个特定的代码示例中使用静态的原因,以及不同的访问修饰符。