2011-04-12 109 views
0

我試圖訪問對象「其他」中的數組,但我無法弄清楚如何訪問該變量。這是我到目前爲止有:訪問同一類別的另一個對象中的變量

public void union(DataSet other) 
{ 
    DataSet temp = new newdataexp(); 
    temp = other; 
} 

我一直無法弄清楚如何訪問變量,甚至當我創建一個返回變量的類中的方法,然後試圖從調用它這種方法結合。

我有這個方法,並試圖做:String [] [] temp = other.getdata(),但編譯器說它找不到符號:方法getdata()。

公共字符串[] []的GetData() {

返回FILEDATA;

}

+0

請閱讀[塊ANS聲明】(http://java.sun.com/docs/books/jls/third_edition/html/statements.html) – 2011-04-12 18:43:23

+0

創建返回它應該有工作的方法。你應該發佈了這個嘗試,然後我們可以解釋爲什麼它不起作用。 – 2011-04-12 18:49:51

+0

當我試圖使用返回變量的方法時,我得到錯誤:無法找到符號方法數據()。 – john 2011-04-12 18:56:09

回答

0

我不知道我好明白你的問題,但在同一類的另一個目的是訪問變量只是試試這個:

class MyClass { 
    private int[] myArray = new int[10]; 

    public void myMethod(MyClass myClass) { 
     // you can in this way: 
     // int[] tempArray = myClass.myArray 
     // but this is better: 
     int[] tempArray = myClass.getMyArray(); 
    } 

    public int[] getMyArray() { 
     return myArray; 
    } 

} 

編輯:

但是如果你想讓聯合更好的提取聯合方法以外的類,創建方法:

public static MyObject union(MyObject myObjectFirst, MyObject myObjectSecond) { 
    ... 
} 
+1

這很讓人困惑,因爲你正在創建一個對象並將其稱爲「myClass」。初學者經常會將類和對象混淆在一起,所以我會避免在初學者的代碼示例中這樣做。 – 2011-04-12 18:47:35

+0

public String [] [] data(){ return this.filedata; }就是我所擁有的,我想這隻會從我想要的類對象中返回變量。但是,它不起作用。 – john 2011-04-12 18:53:36

+0

@John我猜這是因爲你在newdataexp類中有getdata方法,但是你在參數的方法中引用了DataSet(注意:DataSet中沒有這種方法)。 – smas 2011-04-12 19:06:40

0

用方法返回的字符串,int等替換數據類型。

datatype mynewdata = (datatype)other.getMeMyArray();