静态方法在JVM刚加载的时候就编译过了...在程序的运行过程中随时可以调用...不需要去实例化某个对象然后再去调用...可以直接用类名去调用...不过你想一下,在JVM刚加载的进修就编译过了..也就是说它一直存在着...也就是说它一直占用这内存中的地址空间...所以说也是比较占资源的噢!   相对于静态方法而言,动态方法占的内存资源就少些...因为它是什么时候使用什么时候实例化...也就是说在不使用的时候它是不会占用资源的...相对与静态方法的缺点是它每次使用的时候都要进行实例化...也就是说比较麻烦一些了...  各有各的优点与缺点...看情况..你觉得什么时候使用哪种方法方便就使用哪种!假如你要频繁地调用某一方法当然最好就不要老是实例化对象喽...不过一个方法你很少用..你要是用静态方法就太浪费空间资源了..你学得呢???

解决方案 »

  1.   

    静态方法是应用级的,换句话说没结束程序都存在,而实例化的是某一部分,例如android上,就是在某一个Activity内有效,当你销毁了Activity动态创建的对象实例也就被销毁了
      

  2.   

    不能笼统的说静态方法好或非静态方法好,这个要看实际使用静态方法在类被加载时,该方法就被装载到内存之中了,只要应用生命周期不结束那么该方法就不会被销毁
    对于频繁调用的方法会提高系统性能,但是会加大内存的开销非静态方法,只有在实例化时(即 XXX xxx = new XXX() ),方法才会装载到内存中,并且当该实例被销毁时,方法也会随之销毁,所以对内存不会造成太大的压力。至于什么时候使用静态方法,则看你的需求,总结于上,对于常用的或反复会调用的方法你可以写为静态方法。