我知道创建对象时首先将这个类加载到内存中,也知道程序分为编译时期和运行时期.
我的问题是 1,加载是在什么时期加载的呢?编译时期就加载了还是运行时再加载?
2,静态方法随着类的加载而加载,先于对象,下面程序当A类加载时,成员变量a和成员函数show也会加载,那么当程序运行时刻,A.show()调用时,a=new A()这个初始化什么时候执行呢?是方法一调用就执行吗?
class A
{
static A a=new A();
public static A show()
{
return a;
}
}
class B
{
public static void main(String[] args)
{
A a=A.show();
}
}
|