java内部类实例化错误

请帮我看看下面出错的原因是什么?(粗体字部分)
为什么静态方法里不能直接调用内部类,成员方法却可以?

package com.zcl5;

class Quetion1 {
class ATM {
int myMoney = 100;
int viewMoney(){
return myMoney;
}
void outMoney(int money){
myMoney=myMoney-money;
}

 }
 public void m1(){
     ATM atm=new ATM();
 }
 public static void main (String args){
      **ATM atm=new ATM();** 
     Runnable runA=new Runnable(){
            @Override
            public void run() {
                // TODO Auto-generated method stub

            }};
     Thread ThreadA=new Thread();
     Thread ThreadB=new Thread();
 }

}

静态内部类不能直接调用内部类,内部类对象的出现必须要依赖外部类
你应该这样写:ATM atm=new Question1().new ATM();

静态方法内不能直接创建内部类,静态方法是直接跟外部类绑定的。而内部类类似于一个成员变量,需要用外部类来调用。所以需要new Question1().new ATM();
如果你的内部类是静态内部类,就直接可以在静态方法里面new了。