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 : .
祝你好运!
有区别吗?它们只是不同的术语吗?我需要能够解释学校的差异,我在下面写的似乎是互联网描述的全局变量。
这是我的代码:
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 : .
祝你好运!