如果在静态函数或静态块中声明了实例变量,是否会再次为实例变量创建内存空间?
主要功能怎么样? 在java中,main函数是静态的 我可以在main中声明一个实例变量吗?如果可以的话,是在编译时还是仅在对象创建期间为它分配内存空间?
答案 0 :(得分:1)
如果在静态函数或静态内声明了实例变量 块,
在这里停止 - 你不能在静态块中声明实例变量,因为没有实例上下文:
static{
this.whatrever=x;
}
无效,甚至无法编译。
同样的情况是public static main
- 这是静态上下文,因此this.x
表达式不会编译。
您可以从实例上下文中获取静态变量/方法,但不能反过来。