2011-04-28 91 views

回答

7

如果你有一個實例:

AnotherClass another = new AnotherClass(); 

這時如果字段(實例變量)是公開的:

another.someField; 

,或者如果你有一個getter方法

another.getSomeField(); 

如果這些都不是真的 - 添加一個getter方法(這是訪問實例變量的首選方法)。

如果您無法更改班級 - 作爲最後一招,您可以使用reflection

+0

「BlablaClass test = new BlaBlaClass();」不起作用,因爲一個類中有我的主類,所以它會創建另一個JFrame。 – Stan 2011-04-28 19:19:16

+3

jframes,inner classes ..我認爲你應該爲你的問題添加一些更多的上下文。 – Bozho 2011-04-28 19:20:07

0

如果您有其他類的實例,則以{instance} .varable的身份訪問它。

可變性需要是公開的,或者它需要在同一個包中而不是私有的,或者它必須是超類中的受保護變量。

如果變量是靜態的,那麼您不需要該類的實例,您可以像{ClassName} .variable那樣訪問它。

1

例子:

 

    MyClass myclass = new MyClass(); 
    System.out.print(myclass.myint) 
 
1

最佳實踐代碼規定,如果變量不是一個靜態的決賽中,那麼你應該創建干將裏面的類&制定者:

public class Main{ 
    int variableName; 

    public int getVariableName(){ 
     return this.variableName; 
    } 
    public setVariableName(int variableName){ 
     this.variableName = variableName; 
    } 
} 

如果你想接取它從另一個類文件然後你必須實例化一個對象,然後訪問它使用公共方法:

Main m = new Main(); 
int a = m.getVariableName(); 

希望它有幫助。

0

在這裏做的最好的事情是讓你需要訪問另一個類的Property,然後用'getter'方法訪問它。

基本上,其它類,這樣做:

public int Number  
{ 
    get 
    { 
    return number; 
    } 
    set 
    { 
    number = value; 
    } 
} 
private int number; 

這樣做可以讓您輕鬆設置到別的東西,如果你需要,或得到它的當前值。爲此,請創建Bozho已經解釋過的「AnotherClass」實例。