【问题标题】:Cannot make a static reference to the non-static [duplicate]无法对非静态 [重复] 进行静态引用
【发布时间】:2021-08-31 14:43:01
【问题描述】:

我正在编写这个简单的代码,但最后一行出现错误:

"无法对非静态字段进行静态引用 br"

请解释我为什么会出现此错误。如果我将变量设为静态,例如static BufferedReader br,或者我在主方法中声明它,我可以抑制错误。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.Object;

public class Solution {
    BufferedReader br;

    public static void main(String[] args) {

        br = new BufferedReader(new InputStreamReader(System.in));

    }

}

【问题讨论】:

标签: java variables static


【解决方案1】:

尝试在 main() 中初始化 BufferedReader,如下所示:

BufferedReader bfr = new BufferedReader(...);

由于您已在方法之外对其进行了初始化,因此它被视为类的属性,因此您必须将其设为静态或创建类的对象才能访问它。

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多