从静态方法引用非静态字段
遇到错误“无法对非静态字段进行静态引用”时,了解静态和非静态字段和方法之间的区别至关重要。
静态字段和方法是不与任何特定对象实例关联的类级属性和函数。相反,非静态字段和方法是特定于实例的,并且仅在类实例的上下文中有意义。
在提供的代码的上下文中,标记为静态的 main 方法尝试访问非静态场平衡。但是,这是不允许的,因为静态方法不能直接引用非静态字段。原因是,静态方法没有对类的特定实例的隐式引用。
要解决此问题,您可以将 main 方法设为非静态(从其方法中删除“static”关键字)声明)或修改提款和存款方法以使用实例级访问余额字段。例如:
<code class="java">public Account() { // ... balance = 20000; } public void withdraw(double withdrawAmount) { balance -= withdrawAmount; }</code>
或者,如果需要,您可以定义静态方法来执行取款和存款操作。
以上是为什么无法从静态方法访问非静态字段?的详细内容。更多信息请关注PHP中文网其他相关文章!