java无法从静态上下文引用非静态变量this

来源:百度知道 编辑:UC知道 时间:2024/06/06 09:10:16
无法从静态上下文引用非静态变量this
java3:CircleKid circle = new CircleKid(20)

我没有定义非静态变量this啊……
我就一菜鸟,代码是参照视频教程敲的,教程上运行没问题,我的就出问题了
拜托各位大虾出手相助了
拜托拜托
public class Count3Quit {
public static void main(String[] args) {
CircleKid circle = new CircleKid(20); //这句报错,new下出现小箭头
Kid child = circle.first;

int countNum = 0;
while (circle.count > 1) {
countNum++;
if(countNum == 3) {
countNum = 0;
circle.delete(child);
}
child = child.left;
}
System.out.println(circle.first.id);
}

class Kid{
int id;
Kid left;
Kid right;

}
class CircleKid{
int count = 0;
Kid first;
Kid last;

CircleKid(int n){
for(int i=0;i<n;i++) {
add();
}
}

void add() {
Kid k = new Kid();
k.id = count;
if(count &l

CircleKid circle = new Count3Quit().new CircleKid(20);
因为CircleKid 是Count3Quit的非静态内部类,所以必须先获得Count3Quit实例才可以。
==========================================
如果把CircleKid 声明为static的话,
CircleKid circle = new CircleKid(20);就没问题了。

CircleKid circle = new CircleKid(20);???

看看CircleKid是不是public static
不是不能调用

其实写成private static也不错