java 虚拟机在什么时候创建对象?在调用静态方法时候创建吗?静态块是在调用构造之前调用的是不?http://www.yesky.com/320/1950320.shtml这里讲的小弟有点不明,{·调用类中声明的静态方法 } 可以创建对象吗?还有哦,在主类里的静态块在执行时可以被调用,但是主类里的构造为什么就不能调用?迷惑中!
解决方案 »
- 杭电ACM1002用java写的,麻烦高手看一下哪里错了,在线
- 新人首发求指教
- 求SCJP的的中、英文教程 不胜感激
- 一道java面试题!
- java.util.regex.PatternSyntaxException 怎么解决哦?
- 本人new了个Frame,可没法用X关闭这个Frame,如何完善这小段代码?能有几种办法?
- easy struts配置问题?
- 请问哪里有java docs 的下载,中文版的,它是java的类库手册么?
- Please Help:JBuilder lost seach function
- 如何键盘给二维数组内的元素赋值
- 判断int值过大
- JAVA初学 请大虾不吝赐教[66分派送]
static int i = 0;
public Test()
{
i=3;
}
public static void main(String[] args){
System.out.println(A.a+""+Test.i);
}static{
System.out.println( "initializing Test" );
}
}
class A{
static final int a = 10;static{
System.out.println( "initializing A" );
}
}那这个怎么输出?
initializing test
100
原因是要搞清楚类初始化和对象初始化,上述代码中没有对象new出来,那么Test类中的构造函数时不会调用的,由于A类中的i是final的,所以不会被认为是主动调用,则不会导致JVM初始化该类,所以Static块的不被执行,
lz明白拉嘛,要是觉的讲的还可以,请打分。
我的BLOG:http://blog.csdn.net/beepbug/
2 Class.forName("com.xxx.Test");
3 ClassLoader.loadClass("com.xxx.Test");给分。需要解释你更多的疑问,请参见《深入JAVA虚拟机》