Java I';我不知道为什么,也不知道是什么原因;“静态”;标签是

Java I';我不知道为什么,也不知道是什么原因;“静态”;标签是,java,static,Java,Static,我不熟悉Java编程(尽管我习惯用C、html和其他一些语言(模糊地)编写代码) 我正在尝试创建一个简单的Hello World程序,我不确定为什么,以及“static”标记的作用。我试着做了一些研究,我发现静态标记可以使方法在瞬间作为一个实例工作,而不是必须“启动”它(我不太理解它)。我想知道在哪里,为什么要用它 另一方面,在编译过程中,我发现了如何使其执行,但我的一些朋友告诉我,我需要包含一个清单,并将其作为.jar运行,(我使用: $ javac Potato.java $ java Po

我不熟悉Java编程(尽管我习惯用C、html和其他一些语言(模糊地)编写代码)

我正在尝试创建一个简单的Hello World程序,我不确定为什么,以及“static”标记的作用。我试着做了一些研究,我发现静态标记可以使方法在瞬间作为一个实例工作,而不是必须“启动”它(我不太理解它)。我想知道在哪里,为什么要用它

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

$ javac Potato.java
$ java Potato
)

作为说明,我想告诉您,我正试图避免使用第三方软件来学习编程(使用标准记事本++和bash)

谢谢;)

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

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

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

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

如果您想知道为什么
main
始终是静态的,请查看以下内容:

常规方法

定义:

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

静态方法

定义:

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

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

例如:

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

...

System.out.println(ExampleClass.a);

分享一些代码怎么样?你可能需要读一些关于Java的书。IMHO Java并不是一个你可以学习的东西,只是尝试做一些事情,或者阅读一些小教程。这里有太多重要的概念和其他东西。即使你能在Java上写一些工作代码,它也不太可能是一个好代码。使用notepad++和命令行是没有勇气的!没有任何专业人士或工匠会故意这样残废自己,如果你遇到了问题,而如果你使用了正确的工具,这些问题不可能成为问题,那么你在这里几乎找不到什么帮助。@mazunki如果你学会了如何调试程序,你会更加理解它。@JarrodRoberson我强烈反对。在我看来,了解IDE为您提供了什么很重要,至少在短期内是如此。如果不了解类路径、它如何与您的环境交互等等,学习Java就更难了。对于toy,没有大量使用库的示例程序,文本编辑器和命令行是一个很好的起点。我明白了,这样我可以使用普通方法创建同一元素的多个实例,而通过使用静态方法,我只使用“标准旧唯一变量”?如果我是对的,我怎么能再举一个例子呢?他们帮了很多忙,谢谢。(我也没有得到支持)请考虑一个方法中的形容词“正常”被用来表示“没有修饰语”。您的问题表明您对“类实例”的概念没有清晰的理解。我不能在这里澄清这一点,我建议您阅读一些基本Java手册,以消除您在这方面的疑虑。是的,我理解。我会查的,谢谢你。n@Numbers这实际上是不正确的;您可以从实例中引用静态属性/方法,但不应该这样做,因为这很容易混淆。您是正确的,因为您不能从静态上下文引用实例属性,因为这将毫无意义。