为什么在STATIC 方法中不能用this.

 public class outer{
    public static void main(String[] args){
          inner a = new inner();// not right?
         outer.inner b = new outer().inner();//只能 这样实例化         
                                           //一个inner class对象
         }
     class inner{}
      public void method(){
      inner a = new inner();//right
         }
       }
为什么在STATIC 方法中不能用this.???????

解决方案 »

  1.   

    this是当前对象的引用static的东西不属于任何一个对象,又如何使用this呢?
      

  2.   

    static 不是类属性吗? 怎么不属于任何一个对象呀
      

  3.   

    接着楼上的说人类---实例化--->AllanJDthis只能引用一个具体的人,类似我可以把我自己这个具体的人描述为“我”而人类不是具体事物,显然不能有这样的行为特征。
      

  4.   

    类理解为一个类别的事物,比如人,猪,马,电脑,网站.
    对象可以理解为一个实例吧? 梦幻西游-湖北1区-昭君台-ID:9114273   
    或者   http://community.csdn.net/
      

  5.   

    最简单的理解办法,一个内部类,实际上就相当于一个类的方法(这种说法可能不太恰当),我是说它的存在就像是外部类的一部分,而main方法是静态的,那么,在静态的方法中只能引用静态的变量或方法,这个问题中,main方法是类中的一部分,而创建的内部类对象却不是静态的,所以不能被引用