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