内部类的对象生命周期和static的作用
来源:互联网 发布:windows mac更改快捷键 编辑:程序博客网 时间:2024/04/28 16:17
如:
public class InnerClassDemo{
int x;
class Test{
static int a = 0;//这样写是不合法的.
static final int b=0;//这样写是合法的
}
}
java类加载顺序,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们要执行代码中的变量int a 初始化,那么必须先执行加载外部类,再加载内部类,最后初始化静态变量 a ,问题就出在加载内部类上面,我们可以把内部类看成外部类的非静态成员,它的初始化必须在外部类对象创建后以后进行,要加载内部类必须在实例化外部类之后完成 ,java虚拟机要求所有的静态变量必须在对象创建之前完成,这样便产生了矛盾。
(有点绕,呵呵)
而java常量放在内存中常量池,它的机制与变量是不同的,编译时,加载常量是不需要加载类的,所以就没有上面那种矛盾。
0 0
- 内部类的对象生命周期和static的作用
- static 的运用和内部类
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类的作用
- 内部类和匿名类的作用
- 方法和作用域中的内部类
- 内部类、匿名内部类和对象的初始化过程
- 静态内部类的生命周期
- 匿名对象和匿名内部类的的格式及作用
- Java内部类的作用
- uva315 Network 【图论-tarjan-求桥】
- android 学习注意点
- Comet4j 流程
- How to add a new user in linux and add it to a new group
- Android SQLite 的使用
- 内部类的对象生命周期和static的作用
- html5的placeholder属性(IE如何兼容placeholder属性)
- angular2+node.js express打包部署
- Spring-1,安装SpringIDE
- SPOJ 15569 STC02
- xpath抓取的值有空格换行符等问题
- Skype SILK codec overview
- web监听器
- mysql查询结果包含空的列排序问题