第五章 初始化与清理

1、成员变量会被初始化,局部变量不会
2、创建对象的过程:
  a.当初始化或用到该类的静态成员变量时,java解释器会加载.class文件,此时进行所有静态初始化操作,且只进行这一次,以后不再进行
      b.对于new操作,先在堆里分配内存,并初始化为0,这样基础变量便自动设为默认值了,引用被设为null.
  c.成员变量初始化
  d.执行构造器操作
3、关于静态方法不能调用非静态域原因的一点个人理解:
因为静态方法是属于类的,而非静态域是属于对象的。如果可以调用,那么当没有new对象,而只是用类名引用static方法时,此时将访问只有创建对象才能使用的域,这是矛 盾的。
此外,个人认为静态成员变量或方法是跟类一起加载的。此时还没有为创建对象开辟内存,所以此时非静态域还没有意义,所以不能调用。这在上面的第2条应该得到印证。

你可能感兴趣的:(java,初始化)