在课程栏中:
而不是像这样制作一个Object(在本例中是一个简单的String):
public String one = "Hello!";
我想这样做:
String one;
one = "Hello!";
但编译器抛出:
error: <identifier> expected
为什么呢?为什么第二个必须在方法中?
答案 0 :(得分:2)
看起来这应该在某种构造函数中......无论哪种方式,都必须将它放在方法或构造函数(或其他代码块)中。这只是Java语法的规则之一。
public String one;
public MyClass() {
one = "hello";
}
如果您填写了字段static
,则可以
public static String one;
static {
one = "hello";
}
答案 1 :(得分:1)
很可能
one = "Hello!"
位于类块中。该语句必须出现在代码块中 - 即;方法,构造函数或静态初始化程序。 E.g:
void myMethod() {
String one;
one = "Hello!";
}
非声明性陈述不能出现在类块中。
答案 2 :(得分:1)
one = "Hello!";
行必须在方法内。