Java中静态上下文中无法引用非静态变量的解决办法:
一、为什么不能引用?
今天编写代码遇到
non-static variable mainframe cannot be referenced from a static context
经过了解知道了因为静态类的方法可以在没有创建实例对象时直接调用,而非静态的成员变量是一个对象属性,只有在对象存在时才可以引用。因此,如果在对象未创建实例时,我们在静态方法中调用了非静态成员方法自然就是非法的。
静态方法可以不用创建对象就调用,非静态方法必须有了实例对象才能调用。因此在静态方法中引用非静态方法是不可能的。
二、如何解决
这是搜到其他博主的标准答案,但是我的解决很离谱
经典灯下黑,手搓代码的时候下意识选择大写,排查了半天就是没看这个,也是我眼不好使了,引用错了,记录下来希望提醒自己
来源地址:https://blog.csdn.net/asd147852as/article/details/132279658