我有一个关于面向对象编程的基本问题。从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