我有一個關於面向對象編程的基本問題。從Class2調用Class1的獲取者
有兩個類 - Class1和Class2。我需要從Class2中調用Class1的getter(請參閱代碼)。問題是下面的代碼不能被編譯。如何更改此代碼以便能夠從Class2調用Class1的getter。那麼,解決這個問題的正確方法是什麼?
P.S.如果我將函數getVar1
設置爲靜態,編譯器會說return this.var1
不正確。
public class Class1
{
private int var1;
public Class1(int index1, int index2)
{
//...
Class2 c2 = new Class2();
//..
}
public int getVar1()
{
return this.var1;
}
}
import Class1;
public Class2
{
public Class2()
{
//...
int var = Class1.getVar1(); // !!!
}
}
如果你讓功能getVar1靜態的,你也需要做出VAR1靜態的。由於您無法從靜態上下文訪問非靜態變量。 – Ankit 2013-04-09 09:20:17