您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Java中声明“全局”变量时,“静态”到底是什么意思?

在Java中声明“全局”变量时,“静态”到底是什么意思?

这是您的示例:

public class Member {

    // Global Variables
    int iNumVertices;
    int iNumEdges;

    public static void main(String[] args) {

        // do stuff

        iNumVertices = 0; // Cannot make a static reference to the non-static field iNumVertices

    }
}

方法main是与该类关联的静态方法。它没有与的实例相关联Member,因此它无法访问与的实例相关联的变量Member解决方不是 使这些字段为静态。相反,您需要创建一个Member使用new关键字的实例。

这是修改后的版本:

public class Member {
    // Fields
    private int iNumVertices;
    private int iNumEdges;

    public Member(){
        // init the class
    }

    public static void main(String[] args) {
        Member member = new Member();
        member.iNumVertices = 0;
        // do more stuff
    }
}

发现自己正在创建全局静态变量,这表明您应该仔细考虑如何设计某些事物。这并不 总是 错误的,但是它应该告诉您考虑自己在做什么。

java 2022/1/1 18:29:29 有450人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶