Java 类变量的声明意外结束
我面临着一个奇怪的错误:声明意外结束。我很确定没有打字错误。请帮忙Java 类变量的声明意外结束,java,android,compiler-errors,global-variables,variable-declaration,Java,Android,Compiler Errors,Global Variables,Variable Declaration,我面临着一个奇怪的错误:声明意外结束。我很确定没有打字错误。请帮忙 package test.anyname; import android.app.*; import android.os.*; public class MainActivity extends Activity { boolean ty= true; ty= false; // Error occurred at this line @Override protected void on
package test.anyname;
import android.app.*;
import android.os.*;
public class MainActivity extends Activity {
boolean ty= true;
ty= false; // Error occurred at this line
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
可以直接在类主体内编写的内容只有:
- 字段声明(例如,
)布尔ty=true;
- 方法声明(例如,
)@Override protected void onCreate(Bundle savedInstanceState){…}
- 建设者
- 嵌套接口和类的声明
- 静态和实例初始值设定项
ty=false
是一个赋值,但它不是这些赋值,因此它是不允许的。您只能初始化一次变量,并且不能在某些方法之外再次更改此变量。那么,你应该用一种方法来做这件事
package test.anyname;
import android.app.*;
import android.os.*;
public class MainActivity extends Activity {
boolean ty = false; // you can initialize only once
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
void changeTy() {
ty = !ty;
}
}
ty=false代码>语句必须在某个方法中。@Eran为什么必须ty=false代码>在一个方法中?如果你想让ty为“false”,为什么要用“true”初始化,或者你可以将onCreate()中ty的值改为“false”@VíVêkBårì我是新手,这是我的第一个脚本。但据我所知,这应该是允许的,对吗?@D5fgj存在编译器错误这一事实清楚地表明这是不允许的代码>?因为它可以在没有错误的情况下运行,这是一个带有初始值设定项的字段声明代码>是合法的(也许令人惊讶);2) 您可以更改实例初始值设定项中的变量(例如,boolean ty=false;{ty=true;}
),这不是方法。