新手求教,为什么java编译的时候出现错误:无法从静态上下文中引用非静态变量name

新手求教,为什么java编译的时候出现错误:无法从静态上下文中引用非静态变量name不是说protectHome可以调用它的属性么?求帮帮忙看看 我就在输出哪里加个name就报错了

protectHome方法中的name报错

static   protectHome()是静态的,而name属性是非静态的,所以报错。

处理方式:

1、name前面加static

2、把方法中的static去掉

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-27
static(静态修饰符),由它修饰的方法 protectHome()是一个静态方法,你在这个静态方法里面调用了一个属性name,但是这个属性name它不是静态属性,必须也把他变成静态属性,也要用static修饰一下它,上面应该这样声明:static String name;追答

静态方法中只能调用静态的属性。

相似回答