首先是Bvar被创建出来,之后是ps1,b,c。
回收么,顺序应该是b,c,Bvar,最后是psl。为什么?因为main方法中实例化了Bvar,实例化的过程也就是分配内存空间的过程,所以,class B中的三个属性(即你所说的变量)都被创建出来了,而psl因为它是static的,所以它会到程序完全结束的时候才会被释放。public,private,这些关键字仅影响它的可见度,并不会影响到它的生命周期,而static却会影响到它的生命周期。
谢谢。
回收么,顺序应该是b,c,Bvar,最后是psl。为什么?因为main方法中实例化了Bvar,实例化的过程也就是分配内存空间的过程,所以,class B中的三个属性(即你所说的变量)都被创建出来了,而psl因为它是static的,所以它会到程序完全结束的时候才会被释放。public,private,这些关键字仅影响它的可见度,并不会影响到它的生命周期,而static却会影响到它的生命周期。
谢谢。
解决方案 »
- java是否可以显示实现引用传递
- 一个程序如果return的话,return 到什么地方??
- 如何得到当前时间,然后换成这样的字符串格式输出,格式:yyyyMMdd HH:mi
- 如何判断字符串是数字?
- 用java调ocx控件的问题,先给分100,分不够可以再加
- 实现一个算法 !
- 请问sun.security.pkcs11.SunPKCS11这个包在哪里
- 空字符串的比较
- 那位大虾知道,那里有jb6下载
- 请问jbuilder5里在那可以配置数据库连接池?
- 搜索未遂,前来求助——按钮双击问题
- ==请问谁有 Wise for Windows Installer 5.21 的使用方法或手册呀!!=======
静态对象(变量)在非静态对象前初始化。静态对象(变量)只初始化一次,再次调用就不初始化了,但非静态对象在每次调用时都要初始化。
程序中的主类的静态变量会在main()方法执行前进行初始化工作。
不仅第1次创建对象时,类中所有的静态变量要初始化,第1次访问类中的静态变量(没有创建对象)时,该类中所有的静态变量也要按照它们在类中排列的顺序初始化。
初始化的顺序包括构造方法调用的顺序如下:
1. 主类的静态成员首先初始化。
2. 主类的超类的构造方法按照从最高到最低的顺序被调用。
3. 主类的非静态对象(变量)初始化。
4. 调用主类的构造方法。
在一个构造方法中只能调用一次其它的构造方法,并且调用构造方法的语句必须是第一条语句。
回收:反序
如main方法执行完后,java虚拟机会周期性的调用垃圾回收器回收内存