默认的static方法没有this指针参数,因此它是属于类的,而不是属于对象的。static也只能处理类的静态变量,其实静态我觉得就像是一个全局变量有的时候对象的创建是必须的,如果你为了减少对象的使用而大量用static方法,那和原始的c代码有什么区别?oo的很多东西就没了啊呵呵,个人看法

解决方案 »

  1.   

    static属于类,另一种属于对象。static只能处理静态变量,静态变量是共享的。
      

  2.   

    我觉得这也靠习惯,平时我不用STATIC ,如果用两种方法都能做出来,也就不同管
    有什么区别了,谈到区别,恐怕也就建立在理论上^_^纯属个人观点@_@
      

  3.   

    嗯,这些我都知道。但是很多情况下,好像真的不太需要new一个对象出来都行。一般的方法所需的参数都不是太多,我一般都是直接在参数中传过去就行了,而不是做成员变量。可能我的思维还不够OO吧。
      

  4.   

    谁能帮忙解释一下,为何结果为6?????????????
    public class Test {
     public static void main(String Args[]) {
        int i =1, j = 0;
        switch(i) {
           case 2: {j +=6;System.out.println("exec1");}
           case 4: {j +=1;System.out.println("exec2");}
           default: {j +=2;System.out.println("exec3");}
           case 0: {j +=4;System.out.println("exec4");}
         } 
         System.out.println("j =" +j);
      }
    }
      

  5.   

    这个太简单啦。因为i=1,所以case 2和case 4这两个条件都不成立,于是跳到default执行。但因为default后面没加break,所以继续执行case 0那句。于是j肯定是6啦。建议你去认真了解一下switch...case语句的用法啦,其实这是从C++遗留下来的,这的确不太好。ps.我们不是在讨论成员方法和static方法吗?怎么会讨论这个了,呵呵。
      

  6.   

    其实对于java中的成员方法和static方法的区别我认为主要是根据使用上的需要而定,在JAVA的API中有很多抽象类,根本就不能用new进行创建,但是其中却包含了一些static方法,可以通过这些方法进行建立一个类的实例,其中的原因估计是为了保护这个类吧?
      

  7.   

    static method驻留在rom中
    common method驻留在heap中
      

  8.   

    个人认为主要还是考虑该方法是否因对象不同而产生不同的效果,如果不论如何构造对象,对该方法调用时所产生的效果都一样,那何不将其声明为static。
      

  9.   

    final型实例变量在内存中有几份????????????????????????????