java中一个奇怪的问题 不知道为什么
public class DateOnlyTest {
public static void main(String[] args){
DateOnly dateOnly = new DateOnly();
dateOnly.i = 1;
dateOnly.d = 3.4;
dateOnly.b = true;
dateOnly.show();
}
class DateOnly{
int i;
double d;
boolean b;
void show(){
System.out.println(i);
System.out.println(d);
System.out.println(b);
}
}
}
这样就会提示出错,
如果把DateOnly类放到main方法中就不会出错。
为什么? java
[解决办法]
你静态方法调用动态内部类了,给内部类加上static
[解决办法]
或者不用静态那就先new宿主类在new内部类:
DateOnly dateOnly = new DateOnlyTest().new DateOnly();