无法从静态上下文中引用非静态变量in
答案:2 悬赏:20
解决时间 2021-02-07 14:50
- 提问者网友:对着我说爱我
- 2021-02-07 05:27
无法从静态上下文中引用非静态变量in
最佳答案
- 二级知识专家网友:堕落奶泡
- 2021-02-07 06:56
class Fish{ public int weight=1; } class Lake{ Fish fish; void setFish(Fish s) { fish=s; } void foodFish(int m){ fish.weight=fish.weight+m; }} public class E{ public static void main(String args[]){ Fish redFish=new Fish(); System.out.println(redFish.weight); Lake lake=new Lake(); lake.setFish(redFish); lake.foodFish(120); System.out.println(redFish.weight); System.out.println(lake.fish.weight);}}
全部回答
- 1楼网友:糜废丧逼
- 2021-02-07 08:33
问题在于你把 class clerk 放到了 public class fengzhuang 内部
clerk 成了fengzhuang 的非静态内部类,属于fengzhuang 的一个成员
在静态方法main中不能访问非静态的成员,也就不能直接new clerk()
只能通过外部类的对象访问。
把clerk clerk1=new clerk("职员一",25,2012.12f);改成:
test.clerk clerk1=new test().new clerk("职员一",25,2012.12f);
或者把class clerk放到fengzhuang 类外面就好了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯