【发布时间】:2013-04-09 09:15:55
【问题描述】:
我有一个关于面向对象编程的非常基本的问题。
有两个类 - Class1 和 Class2。我需要从 Class2 调用 Class1 的 getter(请参阅代码)。问题是无法编译下面显示的代码。如何更改此代码以能够从 Class2 调用 Class1 的 getter。那么,解决这个问题的正确方法是什么?
附:如果我将函数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 设为静态。由于您无法从静态上下文访问非静态变量。