【发布时间】:2017-07-27 09:55:36
【问题描述】:
我使用了以下代码,它在指示的地方给了我一个错误:
class LinkedList{
class pair{
Integer petrol;
Integer distance;
public pair (Integer a, Integer b){
petrol = a;
distance = b;
}
}
public static void main(String args[]){
pair[] circle = {new pair(4,6), new pair(6,5), new pair(7,3), new pair(4,5)}; // error at first element of array circle!!!!!!!
}
}
然后我对此进行了纠正,错误消失了!
class LinkedList{
static class pair{ // changed to static!!!
Integer petrol;
Integer distance;
public pair (Integer a, Integer b){
petrol = a;
distance = b;
}
}
public static void main(String args[]){
pair[] circle = {new pair(4,6), new pair(6,5), new pair(7,3), new pair(4,5)}; //error gone!
}
}
我的问题是为什么错误甚至首先出现?
错误:无法访问 LinkedList 类型的封闭实例。必须 使用 LinkedList 类型的封闭实例来限定分配。
【问题讨论】:
-
没有 static 关键字,
pair成为LinkedList的内部类,这意味着每个pair对象必须与封闭的LinkedList类的实例相关联。