“无法从静态上下文引用非静态变量度数”?

时间:2016-02-05 23:28:16

标签: java static non-static

我正处于Java编程的早期阶段,我不断收到标题中提到的编译器错误。这是代码的主要方法:

function qsa2(selector) {
    var next = document;
    selector.split(/\s+/g).forEach(function(sel) {
        var arr = [];
        (Array.isArray(next) ? next : [next]).forEach(function(el) {
            arr = arr.concat( [].slice.call(el.getElementsByTagName(sel) ));
        });
        next = arr;
    });
    return next;
}

每当我尝试将“度”,“缩放”或“temp1”传入每个方法调用时,我都会收到编译错误。有谁知道为什么?非常感谢帮助!

*注意:所有这些方法(如getTemperatureFahrenheit,setDegrees等)都是由我的教授提供的,我们不允许更改它们,它们都是非静态的。

1 个答案:

答案 0 :(得分:1)

问题是main()是静态的,因为degreesscale等变量是非静态/实例变量,在不创建类实例的情况下不存在。您需要使用类Temperature的实例才能在静态块中使用它,例如main(),例如sD.setDegrees(gTC.degrees)。 {{1}};