静态方法中不能new内部类的实例对象的总结

class Test{
     public void main(String[] args){
    A testA=new A();  //这里会出现问题
        new Thread(new Runnable(){
            public void run(){
            testA.printout();
         }
         }).start();
         System.out.println("aaaaaa");  
    }
  
     class A{
              public void printout(){
              System.out.println("aaaaaa");    
        }
      }
  }
静态方法中不能new内部类的实例对象。这是为什么了? 
内部类的*重要的一个特点就是它可以直接访问它外部类的成员变量。成员变量是对象身上的。对象创建完成了,才会为成员变量分配空间。能调用成员变量,意味着一定有了实例对象.
main方法是静态的,它执行的时候可以不用创建那个对象。这就矛盾了。
main方法运行的时候没有任何外部类的实例对象。我们的内部类的实例对象创建了它又可以访问外部类的成员变量,外部类的实例对象在哪儿了?
所以这个原因,我们下面的代码就要进行改写
要想创建内部类的实例对象,必须创建外部类的实例对象。
//  修改之后的代码如下:
 class Test{
     public void main(String[] args){
    new Test().init();
         System.out.println("aaaaaa");  
    }
  
  public void init(){
    A testA=new TestA();
        new Thread(new Runnable(){
            public void run(){
            testA.printout();
         }
         }).start();
    }  
  class A{
              public void printout(){
              System.out.println("aaaaaa");    
        }
      }
  }
方法的调用一定是要通过对象调用的。
哪个对象调用了这个方法,创建内部类实例对象的时候所使用的外部类的实例对象就是谁