2011-04-28 107 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”实例。