public MyClass {
   public static void staticMeth() {
      ...//在这里你不能调用this这个变量,你不能访问其它的非static的方法(如:nostaticMeth)
   }
   
   public void nostaticMeth() {
      ...//在这里你可以调用this这个变量,可以访问其它的非static的方法,同时也能访问staticMeth这个方法
   }
}

解决方案 »

  1.   

    理解?当你的程序不这么编写就不能够编译你就会理解了。
    静态意味着在程序没有开始活动之前就已经创建并且可用,而且保持到程序的结束,动态意味着在程序活动当中被创建,在程序退出之前,动态的东西有可能已经被删除。
    下面的图就是这两种东西的生命周期,从上往下的箭头有可能没有东西接得住,从下往上的却可以确保有东西接住。Static     <============================================================>
                  |        A       |
                  |        |       |
                  |        |       |
    Non Static    |    <----->     | <---->             <--------->
                  |                |             
                  X                X
      

  2.   

    <============================================================>
       &brvbar;        A      &brvbar;
       &brvbar;        &brvbar;      &brvbar;
       &brvbar;        &brvbar;      &brvbar;
       &brvbar;     <---->    &brvbar; <---->            <--------->
       &brvbar;             &brvbar;            
       X               X
      

  3.   

    Static    <============================================================>
                  +        A      +
                  +        +      +
                  +        +      +
    Non Static    +    <----->    + <---->            <--------->
                  +               +            
                  X               X