真心求高手指点迷津:在java代码中,定义变量或方法时,在其前加static是什么意思,先谢了!

解决方案 »

  1.   

    当设成static之后,运行时会自动生成对象,可以直接使用变量或方法而不用再自己创建一个新的对象。
      

  2.   

    静态就表示唯一,是和类相关的,大家公用的,而不是和对象有关的。java中很多的工具类就做成静态的, 省得new对象,比如Math.random(),直接用类.方法名调用,比new完后在用方便多了。
      

  3.   


    应该是java中很多的工具类中的方法就是静态的
      

  4.   

    static类似于同一系列的汽车的发动机
      

  5.   

    可以调用finalize()方法告知GC回收吧???
      

  6.   

    static 的用法:
    static (静态的):static可以修饰类,属性和方法是静态的:
    被static所修饰的属性;
    类名.变量名://这个变量名必须是static修饰的
    static修饰的方法,也直接可以通过类名来通用,直接可以通过类名来调用,而不需要实例化这个类,通过应用类型的变量调用方法;
    static 可以像一个类一样,在static内部实现自己的意图,但是static的执行的速度比类要快;因为static直接加载到java JVM上就可以直接执行了,而类加载到java JVM 上,要先实例化然后再调用方法,这样自然类的执行速度就比static的慢;
    public class Test
    {
    static
    {
    System.out.println("welcome to java");
    }
    public static void main(String [] args)
    {
    //这是一般的调用实现,通过引用变量调用
    Person person = new Person ();
    person.age;
    person.method();
    //通过类名调用,这就是static的特殊之处
    Person.age;
    Person.method();
    }
    }
    class Person
    {
    static int age = 20;
    public static void method()
    {
    System.out.println("zhaoming");}
    }
      

  7.   

    其实static翻译成静态的并不是很完美,而个人理解在属性或者方法前加上static的意思是说这个属性或者方法是属于这个类的,而不是对象的,当加载这个类的时候会将有static关键字修饰的属性或者方法加载进来,当你修改有static关键字修饰的属性的时候,你通过另一个对象调用得到的结果将会是改变后的数据,希望lz能够亲自动手实验一下,多动手,你会有收获的!
      

  8.   


    先说常用的属性和方法吧,static修饰的属性和方法是所属类,当程序中使用某个类时,JVM底层会先对该类进行类初始化来完成类的初始化,在这过程中,类会为static修饰的属性分配内存、执行静态(static)初始化块。当然,如果您现在有纸,不妨照我说的画:画一个大圆A,标上“堆”,在大圆A外面画一个大圆D,标上“栈”;在A中画一个大圆B,标上SomeClass,表示某一个类SomeClass,在类中,花几个矩形方框,这些就是static修饰的属性,然后在大圆B中花一些小圆,表示您在程序中声明创建的该类的对象,这些小圈中再画几个矩形方框,表示不是static修饰的属性,您懂了吗?也就是static修饰的成员所属类,并不属于某个实例(对象)所有。所以,对于一个类中static修饰的成员,用类名.xxx来访问,当然也可以用该类的某个实例来访问,但是这样做不推荐。对于不被static修饰的成员,由于所属某个实例,只能通过某个实例来访问。然后由于static修饰的成员是所属类,那么它在内存中也只有一块区域,也即共享,当然,对于成员中的方法,是在内存中的栈中,属性是在堆中。
      

  9.   

    不知道我理解的对不对-,-我觉得就是公共的东西,用得到的时候拿来用下子。比如static理解为饮水机,它就一直在那儿呆着,你想喝水的时候,就会拿个杯子求倒点水喝么杯子就是必要手段么-0-当然你拿碗也行
      

  10.   

    static是静态关键字
    static修饰属性和方法的时候他属于类,与对象无关!
    调用的时候直接可以已 类名.方法名调用!
      

  11.   

    加static的方法或属性,表名它是静态的,可以又类直接调用,而不需先把类实例化再进行调用
      

  12.   

    方法家static直接用类名.就能访问 不加需要实例话也就是创建对象
    1.非静态的方法可以调用静态的或者非静态的属性和方法;
    2。静态的方法不可以调用非静态的属性和方法,因为非静态的还不一定存在,只能先构造出来后,再通过实例引用
      

  13.   

    static 表示当你声明一个变量或者方法是,这个变量或者方法不是放在具体的栈空间里,在内存里单有一个空间,叫做segdata,单门用于存放static声明的东西,可以说属于公共的,声明的方法或者变量可以用类直接调用,而不用实例化对象,当然,实例化对象也可以调用,static声明的东西比较占用内存,因为java提供的垃圾回收机制不会自动清除segdata的内容,(当然,java里面的垃圾回收也不怎么靠谱),一般如果你程序里面有很多static关键字的话,可以说你的程序不是一个好程序
      

  14.   

    当设成static之后,运行时会自动生成对象,可以直接使用变量或方法而不用再自己创建一个新的对象
      

  15.   

    static可以修饰类,方法,变量,
    变量设置为static时,就表示在任何地方调用的该变量都是相同的,所有的地方共用一个变量的值,无论哪个地方改变,都会影响到其他调用该变量的地方。
      

  16.   

    在变量前加static 表示该变量是共享的
    public class Person{
     static String name = "小王"
    }
    那么当我们创建Person类的对象时,每个新创建的对象的名字都叫小王,这里只是举例,实际中这样就没意义了。
    在方法前加static 表示该方法是静态的方法,好处就是可以用类名直接调用该方法,而不用再通过创建对象来调用方法。解释的不对的地方希望大家多指教,我也是刚学。
      

  17.   

    static 表示你声明的方法和变量为静态 ,只与类相关,无需新建对象调用,通过类名直接调用.