java – 无法从静态上下文引用非静态字段 – 主方法

前端之家收集整理的这篇文章主要介绍了java – 无法从静态上下文引用非静态字段 – 主方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参见英文答案 > Non-static variable cannot be referenced from a static context                                    12个
我的Spring-Boot应用程序中有2个类:

-任务

-Runner

runner类包含我的main方法,我尝试从Tasks类调用一个方法

亚军:

@Component
public class Runner {

    Tasks tasks;    

    @Autowired
    public void setTasks(Tasks tasks){
        this.tasks=tasks;
    }

    public static void main(String[] args){

    //error being caused by below line
    tasks.createTaskList();

    }

任务类:

@Service
public class Tasks {

    public void createTaskList() {

    //my code
    }


    //other methods 


}

在我的Runner中,当我尝试在Tasks类中调用createTaskList()方法时,我收到以下错误

Non static field 'tasks' cannot be referenced from a static context

我怎么解决这个问题?

最佳答案
主要方法是静态意味着它属于类而不是某个对象.因此,静态上下文不能引用实例变量,因为如果有一个实例变量,它将不知道它将使用哪个Runner实例.

简而言之,解决方案是使您的Tasks对象在Runner类中保持静态.

猜你在找的Java相关文章