gpt4 book ai didi

java - Java 中静态方法的范围

转载 作者:行者123 更新时间:2023-12-01 23:34:26 28 4
gpt4 key购买 nike

Java 中静态方法的范围是什么?

1) (Eclipse) Project level
2) Application level
3) JVM level

如果我们有一个类,让您深入了解我的要求:

public class MyClass
{
private static int data;
public static void setData(int val)
{
data = val;
}
public static int getData()
{
return data;
}
}

如果我从不同的类(与 MyClass 在同一个项目中)调用 setData() 方法并传递一个值,比如 10,将会我能够从不同的项目访问设置的数据(即值10)吗?来自不同的应用程序?等等-

或者,我到底需要做什么才能从不同的(eclipse)项目访问相同的数据(即10)?

如果有与此相关的官方文档,请告诉我。

最佳答案

你问的是引用范围还是存在范围?在给定标准 Java 包命名/作用域规则的情况下,任何可以访问该方法的类的类都可以访问公共(public)静态方法。请注意,这意味着(作为规则的一部分)访问权限仅适用于同一 JVM 中的类。

数据存在范围仅限于代表正在加载的类的java.lang.Class实例(我是当然有一些奇特的术语来形容这一点)。这最多会持续到 JVM 执行结束,但在某些情况下,类可以提前“卸载”。

还应该注意的是,给定类的多个副本(java.lang.Class 实例)可以同时加载到给定 JVM 中,并且该类的每个副本将有自己的静态变量。然而,这种情况非常罕见。

关于java - Java 中静态方法的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18927856/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com