关于java:我不确定为什么,以及“静态”标签的作用

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

本问题已经有最佳答案,请猛点这里访问。

我对Java编程很感兴趣(即使我习惯于用C语言、HTML语言和其他语言)(模糊地)。

我正在尝试创建一个简单的hello world程序,我不知道为什么,也不知道"static"标签做了什么。我试着做了一些研究,我发现静态标签让方法在一瞬间作为一个实例工作,而不是"启动"它(不太理解)。我想知道在哪里,为什么要用它。

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

1
2
$ javac Potato.java
$ java Potato

)

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

谢谢;

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

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

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


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

如果你想知道为什么EDOCX1 1总是始终是静态的,请看这里:为什么Java主方法是静态的?

正规方法

定义:

1
2
3
4
5
public Class ExampleClass{
  public void exampleMethod(){
    System.out.println("exampleMethod()");
  }
}

用途:

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

静态法

定义:

1
2
3
4
5
public Class ExampleClass{
  public static void exampleMethod(){
    System.out.println("exampleMethod()");
  }
}

用途:

1
ExampleClass.exampleMethod();

同样适用于字段。如果您有一个static字段,它将属于类,而不是单个实例。

例子:

1
2
3
4
5
6
7
public Class ExampleClass{
  public static int a = 1;
}

...

System.out.println(ExampleClass.a);