为什么我在Eclipse中运行Java程序时,当整个程序只是一个类时就能运行成功,但当有两个类时就无法运行了呢

2024-12-05 05:29:47
推荐回答(5个)
回答1:

你把一个类放在另一个类的内部,second在first内,则second类为内部类
你可看看这样改:
public class first {

public static class second { //要在静态的main中调用,则要声明
//其为static

public int i;

public second() {
this.i = 0;
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
second s = new second();
s.i = 1;
System.out.println(s.i);
}
}

如果你是想在first类中调用second类中方法,则应该将second放在first类的外面,如下:

public class first {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world");
second s = new second();
s.i = 1;
System.out.println(s.i);
}
}
class second { //不能声明为public

public int i;
public second() {
this.i = 0;
}
}

注意:一般类名首字母要大写

回答2:

second s;
改成second s=new second();
试试

回答3:

对于second类,你没有创建对象,故在运行主函数时会出错,
你可以将second s; 改成 second=new second();

回答4:

对于内部类的创建,首先要创建外部类:
Test t=new Test();
然后再创建内部类
Test.second s=t.new second();

回答5:

是不是你没有导包啊