如题

解决方案 »

  1.   

    静态方法里只能访问本类方法中的静态成员,不能直接访问非静态的属性和方法。这是因为静态方法不依赖于对象,所以当类加载成功后,静态方法就可以访问了。而此时的对象不一定存在,非静态成员自然也不一定存在。而且即使存在非静态成员,静态方法也不知道访问哪一个对象的成员。
    静态方法中也不能出现this关键字,因为this是针对对象而言的。本类中的非静态方法可以访问本类的静态属性,也可以调用静态方法。
      

  2.   

    怎莫会呢
    静态方法也可以访问其他类的静态成员和静态的方法阿
    前提是那个类是可见的
    比如说 static void doWork(){
    System.gc();     -->System类中的静态方法,用于垃圾回收
    int order = Thread.NORM_PRIORITY;  -->Thread类中的静态字段,表示线程的优先级
    System.out.println(Calendar.DAY_OF_WEEK_IN_MONTH); -->Calendar类中的静态字段,表示日期
    }
    像System类中有很多方法都是静态的阿,都是可以访问的