关于变量作用域定义
public class ScopeExample {
private int i = 1;
public void firstMethod() {
int i = 4, j = 5;
this.i = i + j;
secondMethod(7);
}
public void secondMethod(int i) {
this.i = i;
}
}
public class TestScoping {//这行报错:The public type TestScoping must be defined in its own file
public static void main(String[] args) {
ScopeExample scope = new ScopeExample();
scope.firstMethod();
}
}
这是学习一PPT中的例子,在Eclipse中就会出现这种效果,请问,应该怎么解决?谢谢啦~
------解决方案--------------------这个不是变量作用域的问题,报错的意思是"public类型的类必须在与它自己同名的文件中声明.",估计你保存的文件不叫TestScoping,所以报错.
------解决方案--------------------Java code
class TestScoping{
private int i = 1;
public void firstMethod() {
int i = 4, j = 5;
this.i = i + j;
secondMethod(7);
}
public void secondMethod(int i) {
this.i = i;
}
}
public class ScopeExample {
public static void main(String[] args){
TestScoping scope = new TestScoping();
scope.firstMethod();
}
}
------解决方案--------------------
一个.java文件中只能有一个public class,并且名字要和.java文件的文件名相同。
把你的两个class其中一个的public去掉,再把.java文件的文件名改为与另一个class相同,再编译。