我不确定为什么,以及 "static" 标签的作用

I'm unsure of why, and what the "static" tag does

我是 Java 编程的新手(尽管我习惯用 C、html 和其他一些语言(含糊)编写代码)。

我正在尝试创建一个简单的 Hello World 程序,但我不确定原因以及 "static" 标记的作用。我试图做一些研究,我想出了静态标记使该方法立即作为一个实例工作,而不是必须 "launch" 它(不太理解)。我想知道在哪里以及为什么要使用它。

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

$ javac Potato.java
$ java Potato

)

请注意,我想告诉您我正在努力避免使用第 3 方软件来学习编程(使用标准的 Notepad++ 和 bash)。

谢谢 ;)

编辑:抱歉,这是我的第一个问题。

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

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

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

如果你想知道为什么 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 字段,它将属于 class 而不是单个实例。

示例:

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

...

System.out.println(ExampleClass.a);