中易网

报错说:无法从静态上下文中引用非静态 方法 take(int) Mbank.take(100);

答案:3  悬赏:10  
解决时间 2021-01-14 01:49
  • 提问者网友:星軌
  • 2021-01-13 19:34
报错说:无法从静态上下文中引用非静态 方法 take(int) Mbank.take(100);
最佳答案
  • 二级知识专家网友:长青诗
  • 2021-01-13 20:01
把 Mbank 类全部移到Customer类中
class Customer extends Thread
{
privateint sum=2000;
public synchronizedvoid take(int k)
{
int temp =sum;
temp-=k;
try{Thread.sleep((int)(1000*Math.random()));}
catch(InterruptedException E){}
sum=temp;
System.out.println("sum="+sum);
}
public void run()
{
for(int i=1;i<=4;i++)
{
take(100);
}
}
}
再试试看
全部回答
  • 1楼网友:人類模型
  • 2021-01-13 21:34
没有statc 的方法必须用对象去调用,加了static的可以直接去调用
  • 2楼网友:患得患失的劫
  • 2021-01-13 20:30
把这个改一下就可以了
public void run()
{
for(int i=1;i<=4;i++)
{
Mbank.take(100);
}
}
改为:
public void run()
{
Mbank mbank =new Mbank();
for(int i=1;i<=4;i++)
{
mbank.take(100);
}
}
就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息