gpt4 book ai didi

Java - 不能从静态上下文中引用

转载 作者:搜寻专家 更新时间:2023-10-31 19:54:35 25 4
gpt4 key购买 nike

这是我的简单类:

public class Project {
private int size;
private Obj tree;
static Obj insert( Obj t, String s ) { // t is null
t = new Obj();
t.val = s;
return t;
}
public Project()
{
Obj tree = new Obj();
int size=0;
}
public class Obj
{
public String val;
public Obj()
{
val=null;
}
}
}

但是,当我尝试在 insert() 函数中创建一个新对象时,我得到了这个错误:

Error: non-static variable this cannot be referenced from a static context

最佳答案

您的Obj 类不是static == 它是一个内部类。这意味着它需要一个封闭类 Project 的实例才能生存。

static 方法 insert 中,没有这样的 Project 实例,因此编译错误。

Obj 类在Project 中似乎不需要任何实例变量,所以没有理由让它保持非static .在 Project 中将 Obj 类设置为 static

public static class Obj

关于Java - 不能从静态上下文中引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29134785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com