java - Java中静态方法的困惑

标签 java static

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

现在,我有一个类Main,它具有以下对象:public Sc​​ribbleCanvas myCanvas;。在 ScribbleCanvas 类中,我想访问 Main 类的方法。

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

最佳答案

您可以为 ScribbleCanvas 提供一个构造函数或 setter,它将参数作为 Main 的当前实例。

ScribbleCanvas sc = new ScribbleCanvas(this);

sc.setMainClass(this);

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

关于java - Java中静态方法的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729825/

相关文章:

java - 我应该使用静态列表还是创建并返回列表的静态方法?

java - H2递归查询

java - 从 Java 调用 RPG 程序时 SaveObject 作业失败

javascript - 无论如何,Node.js 中的 Express 可以有多个静态文件夹吗?

c++ - 静态变量无法解析

php - 如何创建全局配置文件?

使用 SoundPool 的 OGG Audio 中的 Android Static

java - FileWrite BufferedWriter 和 PrintWriter 结合

java - 按下按钮而不将手指从屏幕上松开

java - MultiPlayer - 服务器通信,传输什么