我不确定为什么以及“静态”标签的作用

时间:2015-01-10 14:16:53

标签: java static

我刚接触Java编程(尽管我以前用C,html和其他一些语言编写代码(模糊地))。

我试图创建一个简单的Hello World程序,我不确定为什么,以及"静态"标签呢。我试着做一些研究,然后我想到静态标签使得该方法在一瞬间就可以作为一个实例,而不是必须启动"它(没有完全理解它)。我想知道在哪里以及为什么要使用它。

另一方面,在我编译的时候,我发现了如何让它执行,但我的一些朋友告诉我,我需要包含一个清单,并将其作为.jar运行,(我正在使用:

$ javac Potato.java
$ java Potato

作为一个注释,我想告诉你,我试图避免使用第三方软件来学习编程(使用标准的Notepad ++和bash)。

谢谢;)

编辑:对不起,这是我的第一个问题。

class Potato {
static String textA = "Hello There";
public static void main(String[] args){
System.out.println(textA);
}   
}

我得到了这段代码,我通过在main方法的内部和外部创建变量textA来进行混合。

1 个答案:

答案 0 :(得分:1)

方法上使用的static修饰符允许您在其类而不是特定实例上调用此方法。

如果您想知道为什么main始终是静态的,请查看此处:Why is the Java main method static?

正常方法

定义:

public Class ExampleClass{
  public void exampleMethod(){
    System.out.println("exampleMethod()");
  }
}

使用:

ExampleClass exampleClassInstance = new ExampleClass();
exampleClassInstance.exampleMethod();

静态方法

定义:

public Class ExampleClass{
  public static void exampleMethod(){
    System.out.println("exampleMethod()");
  }
}

使用:

ExampleClass.exampleMethod();

这同样适用于领域。如果您有static字段,则它将属于该类,而不属于单个实例。

示例:

public Class ExampleClass{
  public static int a = 1;
}

...

System.out.println(ExampleClass.a);