2016-04-06 29 views
0

我有一個繼承問題。我有2個類,(CreateAnArray,TheGame),現在 - 我有'CreateAnArray'類中創建的二維數組,我想在'TheGame'類中使用它,但每次我嘗試這樣做時,它都會顯示我'空'。類之間的二維數組| | java

public class TheGame extends CreateAnArray{ 

public void insert(String k){ 
    for(int i=0;i<arrayOX.length;i++){ 

     for(int j=0;j<arrayOX.length;j++){ 
      if(arrayOX[i][j] == k && (arrayOX[i][j] != "x" && arrayOX[i][j] != "y")) 
       arrayOX[i][j]=k; 
      System.out.println(arrayOX[i][j]); 
     } 
    } 
} 

而第二類:

public class CreateAnArray { 
public String[][] arrayOX = new String[3][3]; 

public void create(){ 
    int k=1; 
    for(int i=0;i<arrayOX.length;i++){ 
     for(int j=0;j<arrayOX.length;j++){ 
      arrayOX[i][j]=Integer.toString(k++); 
     } 
    } 
} 

public void show(){ 
    for(int i=0;i<arrayOX.length;i++){ 
     for(int j=0;j<arrayOX.length;j++){ 
      System.out.print(arrayOX[i][j]); 
     } 
     System.out.println(); 
    } 
} 

我已經嘗試了恢復方法,創建對象,但沒有什麼幫助,我該怎麼辦?

+0

在做任何事情之前,您必須調用Game類的構造方法super.create();由於數組單元格爲空,因此您將採用null。 – GOXR3PLUS

回答

0

不要這樣做。讓你的第一堂課正常運作。當它需要arrayOX時,有一個函數將該數組返回給第一個類。不要在這裏擴展課程。

public String[] create(){ 
    String[] arrayOX = new String[3][3]; 

    int k=1; 
    for(int i=0;i<arrayOX.length;i++){ 
     for(int j=0;j<arrayOX.length;j++){ 
      arrayOX[i][j]=Integer.toString(k++); 
     } 
    } 

    return arrayOX; 
} 

然後,調用此函數在另一個類中獲得arrayOX

+0

哦,我的壞,非常感謝:-) – codesyntax

+0

如果這個答案是有幫助的,隨時接受它! – ifly6