据我了解,static
可以在不存在对象实例的情况下调用静态方法。因此,您可以仅在类上调用方法,而不是创建对象并对该对象调用方法。
现在,我有一个具有以下对象的类Main
:public ScribbleCanvas myCanvas;
。在ScribbleCanvas
类中,我想访问Main
类的方法。
现在,由于已经存在Main
的实例(由于此实例称为ScribbleCanvas
),如何访问此类的非静态方法?或更好的问题-我的推理错误在哪里?
最佳答案
您可能具有ScribbleCanvas
的构造函数或设置器,该构造器或设置器将参数作为Main
的当前实例。
ScribbleCanvas sc = new ScribbleCanvas(this);
要么
sc.setMainClass(this);
有了这些,您只需引用该参数的字段即可。