static Object obj = new Object(); 这里的static,声明对象时,怎么解释?难道对象也分静态和非静态吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static 只针对类, 与类中的对象引用没关系. 含意是一样的,作用也是相同的,但是程序中,一般不建议这样用,会出现混乱.除非你能很好的控制代码,不然的话,如果你在程序中调用了它,然后对它进行了改动,它就会失去它做为static的能力. obj只是一个引用,一般而言在stack中,加上static表示它在静态区中。至于对象(Object继承层次中),始终在heap中。 static String str2 = new String();是一样的 相对于静态那就是还有动态咯?那动态的又有什么用?是不是不是用static声明的都是动态的? 用户内存区----------------------程序区静态区--静态变量动态区--形参,局部变量之类CPU寄存器----------------------寄存器--寄存器变量(编译超载--转向内存动态区) 这里的static指的是obj这个引用变量是属于类的,它是静态的,它指向的是一个Object类型的对象。对象没分静态和非静态,静态和非静态只针对属性和方法。 和定义变量应该没什么区别,就是在程序编译的时候为该类初始化了这么一个对象变量然后无论用该类new出多少个对象,这些对象里的这个引用都指向编译时生成的那个对象变量。 关于finalize()的疑问 求助:设置classpath和import 各自作用的区别! 苦恼,不知有什么好法子调试程序的..... 文件上传,不报错,但是服务器的文件内容为空 继承:子类的构造函数调用super()有什么意义? java中坐标原点的问题 我是一个Java菜鸟,请教高手 用Javamail收邮件为何用getReceivedDate(),得到null值啊 why wrong ? 大虾,帮我! 关于网页样式问题... java 高手进!
那动态的又有什么用?是不是不是用static声明的都是动态的?
用户内存区
----------------------
程序区
静态区--静态变量
动态区--形参,局部变量之类CPU寄存器
----------------------
寄存器--寄存器变量(编译超载--转向内存动态区)
对象没分静态和非静态,静态和非静态只针对属性和方法。
然后无论用该类new出多少个对象,这些对象里的这个引用都指向编译时生成的那个对象变量。