这里的static,声明对象时,怎么解释?难道对象也分静态和非静态吗?

解决方案 »

  1.   

    static 只针对类, 与类中的对象引用没关系.
      

  2.   

    含意是一样的,作用也是相同的,但是程序中,一般不建议这样用,会出现混乱.除非你能很好的控制代码,不然的话,如果你在程序中调用了它,然后对它进行了改动,它就会失去它做为static的能力.
      

  3.   

    obj只是一个引用,一般而言在stack中,加上static表示它在静态区中。至于对象(Object继承层次中),始终在heap中。
      

  4.   

    static String str2 = new String();是一样的
      

  5.   

    相对于静态那就是还有动态咯?
    那动态的又有什么用?是不是不是用static声明的都是动态的?
      

  6.   


    用户内存区
    ----------------------
    程序区
    静态区--静态变量
    动态区--形参,局部变量之类CPU寄存器
    ----------------------
    寄存器--寄存器变量(编译超载--转向内存动态区)
      

  7.   

    这里的static指的是obj这个引用变量是属于类的,它是静态的,它指向的是一个Object类型的对象。
    对象没分静态和非静态,静态和非静态只针对属性和方法。
      

  8.   

    和定义变量应该没什么区别,就是在程序编译的时候为该类初始化了这么一个对象变量
    然后无论用该类new出多少个对象,这些对象里的这个引用都指向编译时生成的那个对象变量。