public int getwidth() {
return width;
}
public int gethight() {
return hight;
}
我在另一堂课中有这种方法。我现在需要在另一个课程中使用它们来获取此信息。问题是:尽管(在我看来)它不是静态上下文,但它不断告诉我这是静态上下文,因此它不起作用。
void setWidth() {
/* getterclass is the class where the getwidth method is in */
this.width = getterClass.getwidth();
}
我以这种方式尝试过,但是没有用。
不管我做什么,它总是告诉我这是一个静态上下文。
在我看来,我在某个地方犯了一个可怕的错误。
最佳答案
您需要具有该类的实例才能在非静态上下文中调用该方法。当您说类名-点方法时,这是在尝试调用静态方法。
您需要创建类的实例,或者接受一个作为参数。
void setWidth()
{
GetterClass instance = new GetterClass();
this.width = instance.getwidth();
}
要么
void setWidth(GetterClass instance)
{
this.width = instance.getwidth();
}