据我了解,static可以在不存在对象实例的情况下调用静态方法。因此,您可以仅在类上调用方法,而不是创建对象并对该对象调用方法。

现在,我有一个具有以下对象的类Mainpublic ScribbleCanvas myCanvas;。在ScribbleCanvas类中,我想访问Main类的方法。

现在,由于已经存在Main的实例(由于此实例称为ScribbleCanvas),如何访问此类的非静态方法?或更好的问题-我的推理错误在哪里?

最佳答案

您可能具有ScribbleCanvas的构造函数或设置器,该构造器或设置器将参数作为Main的当前实例。

ScribbleCanvas sc = new ScribbleCanvas(this);


要么

sc.setMainClass(this);


有了这些,您只需引用该参数的字段即可。

09-27 11:54