Java 类变量和全局变量之间的区别是什么?

Java 类变量和全局变量之间的区别是什么?,java,variables,global-variables,class-variables,Java,Variables,Global Variables,Class Variables,有什么区别吗?它们只是不同的术语吗?我需要能够解释学校的差异,我在下面写的内容似乎是互联网所描述的全球变量 这是我的密码: public class variableTypes { public static String a = "hello!"; //<--- global variable (i think) public static void main(String[]args) { System.out.println(variableTypes.a); }

有什么区别吗?它们只是不同的术语吗?我需要能够解释学校的差异,我在下面写的内容似乎是互联网所描述的全球变量

这是我的密码:

public class variableTypes

{
    public static String a = "hello!"; //<--- global variable (i think)

public static void main(String[]args)
{
  System.out.println(variableTypes.a);
}
公共类变量类型
{

公共静态字符串a=“hello!”;//同一命名空间中的任何类或方法都可以访问静态的内容。静态变量将在程序的生命周期内保持不变

对于一个类来说是本地的,只在该类的实例(对象)的生命周期内存在,并且只能通过该实例访问

函数/方法的局部内容只会在该方法执行时存在

这是两者之间的区别:

  • i=Class.variable
  • i=myClass.variable
  • i=myClass.Function()
    如果函数很简单,如
    int apple=4;则返回apple
    否则,就没有办法访问方法/函数的局部变量
注意:我忽略了访问修饰符,但假设这是真的,因为所有内容都是公共的。否则,我所说的每一句话都只在额外工作的情况下才基本成立。(可能也是更好的实践。)

Disclamer:我以前用过Java,但它不是我经常使用的东西。但是这些概念非常标准

我也是一名学生,我可能错了,但我认为我是对的

我找到了这个网站,它似乎有点支持我所说的:

网站离线时的相关ish部分:

Java静态变量它是属于类和 非对象(实例)静态变量只初始化一次, 这些变量将被初始化 首先,在初始化任何实例变量之前 可以由类A静态变量的所有实例共享的副本 可以通过类名直接访问,不需要任何对象 语法:


祝你好运!

可能的重复:Java没有全局变量只需将你的标题粘贴到google和voilá中即可。你需要的每个答案都可能有误导性的重复。文本是类级别的变量,而不是全局变量。在Java中,不可能有未链接到类/接口的变量,而类/接口是预变量-它必须是“全局的”,java中没有全局变量的直接概念,但可以通过以下不同的方式实现;
class A {
    static String text = "Manoj";

    static void print() {
        String stack = "Stack";
        System.out.println(stack);// local variable
        System.out.println(A.text);// global
    }

    public static void main(String... args) {
        print();
        System.out.println(stack);// will give error because scope is local to print method
        System.out.println(A.text);// global so will work anywhere in class
    }
}