【发布时间】:2021-11-03 23:20:49
【问题描述】:
我正在尝试创建一个将数组作为实例变量的图形类,但该数组的大小取决于另一个将在构造函数中初始化的实例变量。这是一个简单的例子:
public class Graph {
//Number of Vertices and Edges:
private int V;
private int E;
//Visited/Unvisited list:
private int[] visitedList = new int[V];
//Constructor:
public Graph(int V){
this.V = V;
this.E = 0;
for (int i = 0; i < V; i++) { //Initialize all vertices as 0
visitedList[i] = 0;
}
}
如您所见,visitedList 的大小将取决于我们通过构造函数初始化的变量 V。但是,当我在获取 V 的值后尝试初始化visitedList 时,构造函数内部出现错误。 0?或者我是否需要在构造函数之外使用另一种可能初始化visitedList的方法来做它?欢迎任何帮助,谢谢!
【问题讨论】:
-
只需将visitedList的初始化移动到你的构造函数中。
-
并且int[]自动初始化为0
标签: java class oop memory dynamic