看了书中关于static的讲解和网上的一些资料,还是不太理解static的具体用法,到底什么时候该用它,在实际的编程应用中,什么样的情况下需要使用到static,恩,大概就是这个意思,不知各位有没理解我的问题,哪位大侠给我解答一下啊

解决方案 »

  1.   


    class A{
      static int a;
      int b;
    }比如上面的代码,要想使用变量b,必须要创建一个A类的对象,
    A obj = new A();
    obj.b = 3;但是变量a就不同了,由于它是静态的,所以不用创建对象就可以使用a = 3;
      

  2.   

    static在内存里面只有一块.
    不会生成很多
      

  3.   

    class A{
      static int a;
      int b;
    }还是这个例子
    A.a =3;
    A a1 = new A();
    System.out.println(a1.a);//输出3
      

  4.   

    static成员变量:你希望你的整个程序只有一个值就可以用
    static方法:一些工具类常用。省去每次使用new class的麻烦。还有就是单例,工厂之类的会提供static的getInstance方法。
      

  5.   

    一句话:static变量不用实例化。
      

  6.   

    static 可以计数用啊。单例设计模式中好像要用到。
      

  7.   

    static的成员变量、成员方法不依赖类,只是依附而已,不用初始化就可以调用;
    static语句块,类一运行首先执行,且不论类初始化几次,static语句块只在第一次初始化的时候起作用;
      

  8.   

    static在面向过程思想里叫静态,在面向对象的思想里边叫类。
    看上边这个例子,张三李四王五吃饭的时候,每人一碗米饭,大伙一起吃三个菜。如果张三上来在别人还没动筷子的时候自己就吃了半个水煮鱼,吃了自己半碗米饭。
    你分析一下:
    张三的米饭少了吗?张三的菜少了吗?
    李四的米饭少了吗?李四的菜少了吗?
    王五的米饭少了吗?王五的菜少了吗?从而得知,菜属于类属性,而米饭属于对象属性。人类{
      static 类型1 菜;//类属性
      类型2 米饭;//对象属性
    }
      

  9.   


    实际上,属于类的东西也是属于对象的,也就是说类属性和类行为可以被类和对象所调用,而对象属性和对象行为只被对象自身所拥有。试图用类来调用对象的属性和方法是不允许的,因为类加载的时候对象还不存在,况且更不知道当前对象方法里的this到底是谁。
      

  10.   


    类属性是要在类加载以后才可以调用的。类属性和类行为可以使用类和对象来调用,对象属性和对象行为只被对象自身所拥有。上述所说:static语句块,类一运行首先执行。其实只是声明类(如:类 引用变量 = null;)是不会调用静态代码块的。具体类的加载了哪些类,以及他们是什么顺序加载的,你可以使用 java -verbose 类名 来查看。
      

  11.   

    如果用Google,搜到的你还看不懂只能说明 你搜的不够 思考的不够  
      

  12.   

    在类中用 static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static 成员变量只有一份
      

  13.   

    1.用static申明的变量或者对象都会在内存中去创建一个static域 每次程序执行到这里时就先到static域中去查找相应的变量或者对象,如果没有就到栈(存放变量)或者堆(存放对象)里面去找。2.static还可以用作数据库的连接,相当于一个单例 如下
    static{
          //数据库的连接
    }在类的对象还没有进行初始化时就已经连了数据库(自动调用static块中的方法)   希望对你的理解有所帮助!别忘记给分哦!呵呵!
      

  14.   

    static关键字:
    1、定义类级别的属性,所有该类的对象共享同样的一个属性(可以修改),类文件被加载的时候,该元素就会被初始化
    2、定义静态代码块,这个代码块在类被加载的时候就会执行
    3、定义方法,父类方法不会被子类去覆盖
    和final不同的是,被final修饰的方法,子类无法写同名同参的方法
    被static修饰的方法,子类可以写同名同参的方法,但是不会覆盖父类方法
       
      

  15.   

    Static 变量是存储在数据段的,看视频教程说的,并且这个类的每一个对象都共用这个静态变量,可以用来记录各个类共同的状态
      

  16.   

    面向对象的问题一直困扰着大家,因为面向过程的语言普及在前,而面向过程的程序中static叫静态,但是面向对象的程序中static叫类。类属性 类方法 对象属性 对象方法,应该这样叫。【以上仅代表我巨和观点】
      

  17.   

        1、在类中的话,可以不用实例化就直接调用;
        2、static方法是前期绑定(另一个是final),其余的方法都是后期绑定(动态绑定)的;
        学Java学得也不是很系统,还有挺多没看完,想到哪说到哪了。以下是TIJ上的话:
        “static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来倒是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际正是static方法的主要用途。”
      

  18.   

    static 定义的是常驻内存的,当然是在一些最常用,用的最多的定义成static型的。定义成static是为了提升代码运行效率,但是是以内存空间为代价的。