错误: 无法从静态上下文中引用非静态方法

如题所述

第1个回答  2022-07-18

静态方法中不能引用非静态变量
静态方法中不能引用非静态变量
静态方法中不能引用非静态变量

静态方法可以通过所在类直接调用而不需要实例化对象,非静态成员变量则是一个对象的属性。它只有在有实例化对象时才存在的,所以在静态方法中是不可以调用静态变量。如果发生调用,则编译器会报出如上的错误。

例如:

由于main方法其实是一个静态方法,而maxProfit方法并没有实例化,所以会报错 错误: 无法从静态上下文中引用非静态 变量 this

修改方法:

只需要实例化调用的静态变量所属对象即可。

相似回答