当前位置:编程学习 > JAVA >>

Java小程序的问题


答案却是这个,有点不解
--------------------编程问答-------------------- i是static是共享区域,你new了两次分别对i++他就是2了,你再new个应该就是3了,依次类推,lz试试 --------------------编程问答-------------------- 这不很明显嘛,i是静态的成员变量,他属于Test类的类对象,而不属于它所在的对象里,你new了两Test(),也就是i加1了两次,所以就是2. --------------------编程问答--------------------
引用 2 楼 hjw506848887 的回复:
这不很明显嘛,i是静态的成员变量,他属于Test类的类对象,而不属于它所在的对象里,你new了两Test(),也就是i加1了两次,所以就是2.

+1 --------------------编程问答-------------------- static修饰的变量,在内存中是分配的一块地方,无论谁去改变i的值,它就会随之变化,就像一个捐款箱似的,你往里面加了1块钱,别人也往里面加了1块钱,你打印的是捐款箱中的总钱数。你把T类看成一个人。


你说成捐款箱中的总钱数,和别人说出捐款箱中的钱数,肯定是一样的,所以很好理解i都打印2了。 --------------------编程问答--------------------
引用 4 楼 zhuni_xingfu 的回复:
static修饰的变量,在内存中是分配的一块地方,无论谁去改变i的值,它就会随之变化,就像一个捐款箱似的,你往里面加了1块钱,别人也往里面加了1块钱,你打印的是捐款箱中的总钱数。你把T类看成一个人。


你说成捐款箱中的总钱数,和别人说出捐款箱中的钱数,肯定是一样的,所以很好理解i都打印2了。

+1 很形象 static的是静态变量有独立的内存  
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,