class 变量和全局变量有什么区别?

What is the difference between a class variable and a global variable?

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

这是我的代码:

public class variableTypes

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

public static void main(String[]args)
{
  System.out.println(variableTypes.a);
}
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
    }
}

静态的东西可以被同一命名空间中的任何class或方法访问。静态变量将在程序的生命周期内持续存在。

class 的本地内容仅在 class(对象)实例的生命周期内存在,并且只能通过实例访问。

function/method 的本地内容仅在执行该方法时存在。

两者的区别:

  • i = Class.variable
  • i = myClass.variable
  • i = myClass.Function() 如果函数很简单,比如 int apple = 4; return apple 否则,实际上没有办法访问 method/function.
  • 的局部变量

注意:我已经忽略了访问修饰符,但假设一切都是 public,我们就说这适用。否则,我所说的每件事只有在做一些额外的工作后才大部分成立。 (可能也是更好的练习。)

免责声明:我以前使用过 Java,但我不经常使用它。但是概念还是挺标准的。

免责声明:我也是学生,我可能错了,但我认为我是对的。

我找到了这个网站,它似乎有点支持我所说的: https://www.guru99.com/java-static-variable-methods.html

网站离线时的相关部分:

Java static variable It is a variable which belongs to the class and not to object(instance) Static variables are initialized only once , at the start of the execution . These variables will be initialized first, before the initialization of any instance variables A single copy to be shared by all instances of the class A static variable can be accessed directly by the class name and doesn’t need any object Syntax : .

祝你好运!