私が示された時点で、私にエラーを与えた以下のコードを使用:静的なネストされたクラスと非静的なエラー
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!!!!!!!
}
}
私はこれにそれを整流し、エラーがdissapeared!
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!
}
}
なぜ私の質問が最初に現れたのですか?ケース1、pair
において
ERROR: No enclosing instance of type LinkedList is accessible. Must qualify the allocation with an enclosing instance of type LinkedList.
静的キーワードがない場合、 'pair'は' LinkedList'の内部クラスになります。つまり、 'pair'オブジェクトは、' LinkedList'クラスのインスタンスに関連付けられている必要があります。 – Eran