第七章.复用类 初始化和类的加载 总结

来源:互联网 发布:关于51单片机与esp8266 编辑:程序博客网 时间:2024/06/05 17:21

1.java的类加载过程

  • 每个类编译代码都存在于一个独立的文件中,该文件只在需要使用该程序代码的时候才会被加载。
  • 一般来说“类的代码在初次使用时才加载”,通常是指加载发生于创建类的第一个对象时,当访问static域或static方法时,该代码文件也会被加载。
  • 加载过程:类加载器开始启动并找出子类中的编译代码,在.class文件中,加载过程中发现他有一个父类,由extends关键字得知,于是进行加载,

    如果该基类还有基类(父类)那么第二个基类就会被加载,以此类推,知道根基类被加载,然后,根基类的static初始化会被执行,然后下一个子类,
    依次类推。这种方式很重要,因为子类的static初始化可能依赖于父类。至此,必要类的加载完毕,对象就可以被创建了。

    首先,对象中的所有基本类型被设为默认值,对象引用被设为null——这是通过将对象内存设置为二进制零值而一举生成的。然后基类的构造器被调用。

    不是默认的可以使用super调用。在基类构造器完成之后,实例变量按其次序被初始化。最后,构造器的其余部分执行。

总结:

  1. 组合和继承都能从现有类中生成新类型。组合是将现有类型作为新类型底层实现的一部分加以复用,而继承复用的是接口(即父类方法)
  2. 多使用组合和代理,慎用继承。
  3. 低耦合,高内聚。
  4. 程序开发是一种增量过程,将项目当做一种有机的、进化的生命体而去培养,组合和继承正是在面向对象程序设计中使得你可以执行这种实验的最基本的两个工具
0 0
原创粉丝点击