0

在类块中:

而不是像这样制作一个对象(在这种情况下是一个简单的字符串):

public String one = "Hello!";

我想这样做:

String one;
one = "Hello!";

编译器抛出:

error: <identifier> expected

为什么?为什么第二个必须在方法内?

4

3 回答 3

2

看起来这应该在某种构造函数中......无论哪种方式,您都必须将它放在方法或构造函数(或其他代码块)中。这只是 Java 语法的规则之一。

public String one;

public MyClass() {
    one = "hello";
}

如果你创造了这个领域static,你可以拥有

public static String one;

static {
    one = "hello";
}
于 2012-11-15T21:25:37.917 回答
1

很有可能是

one = "Hello!"

位于类块中。该语句必须出现在代码块内——即;方法、构造函数或静态初始化程序。例如:

void myMethod() {
    String one;
    one = "Hello!";
}

非声明性语句不能出现在类块中。

于 2012-11-15T21:24:08.573 回答
1

one = "Hello!";行需要在方法内。

于 2012-11-15T21:24:10.013 回答