【问题标题】:How to access a static field from a class passed as a parameter to a function in Java? [duplicate]如何从作为参数传递给Java函数的类中访问静态字段? [复制]
【发布时间】:2020-08-09 08:18:05
【问题描述】:
    public class Parameter {
        public static int my_static_int;
    }



    public class Test {            
        public void foo (Class<Parameter> argument) {
            argument.my_static_int = 1; 
    }

当我键入此代码时,当我尝试访问函数 foo 中的 my_static_int 时,Eclipse 给了我一个错误,提示为 my_static_int cannot be resolved or is not a field。有人可以告诉我我做错了什么吗?

【问题讨论】:

    标签: java function static field


    【解决方案1】:

    Java 中的 static 修饰符与类直接相关。如果该字段是静态的,则表示它属于该类。基于此,您可以使用类名访问静态方法或字段。

    在您的情况下,您可以直接访问该字段:

    Parameter.my_static_int
    

    【讨论】:

    • 问题在于,在我的实际代码中,我必须将类作为参数传递,以便从类的许多不同扩展中访问静态字段。我怎么能做到这一点?
    • 静态意味着对于类的所有实例(对象)都是相同的。
    猜你喜欢
    • 1970-01-01
    • 2014-02-24
    • 2016-03-17
    • 2020-04-20
    • 2020-04-13
    • 2021-05-02
    • 2012-02-21
    • 2020-05-25
    • 2012-10-18
    相关资源
    最近更新 更多