你把一个类放在另一个类的内部,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;
}
}
注意:一般类名首字母要大写
second s;
改成second s=new second();
试试
对于second类,你没有创建对象,故在运行主函数时会出错,
你可以将second s; 改成 second=new second();
对于内部类的创建,首先要创建外部类:
Test t=new Test();
然后再创建内部类
Test.second s=t.new second();
是不是你没有导包啊