【发布时间】:2013-06-15 09:32:27
【问题描述】:
谁能告诉我我在这里做错了什么?当我在 Eclipse 中有这段代码时,当我尝试在 main 方法中将 sheetName 设置为 "hi" 时,它告诉我不能“对非静态字段进行静态引用”。我在这里做错了什么?我知道它一定很简单,但是我到处搜索却无法弄清楚!
public class AutoExpire {
private String sheetName;
private FileInputStream inputStream;
/**
* Instantiates the class.
*/
public AutoExpire() {
// do nothing
}
/**
* The main method from which the program is ran.
*
* @param args
* No arguments.
* @throws IOException
* If program fails to run.
*/
public static void main(String[] args) throws IOException {
sheetName = "hi";
【问题讨论】:
-
static表示它是类的一部分,而不是类实例(对象本身)的一部分。然而,诸如 sheetName 之类的非静态字段是该类实例的一部分。通常,您将使用具有字符串参数的构造函数创建类,并从构造函数分配字段。如果该类可以在没有sheetName的情况下生存,您还可以创建一个 setter。但是无论你做什么,你都应该在创建类实例期间或之后设置该字段。
标签: java variables exception field main