草叶睡蜢

导航

面向对象基础知识-二、对象的创建和销毁

二、对象的创建和销毁

2.1 对象的创建

2.1.1 new关键字

类名 变量名=new 类名();

2.1.2 对象注入

  • 构造函数注入
    类A需要使用类B,类A内部用一个私有字段保存外部注入的B对象的引用。
    image
  • 基于接口的对象注入
  1. 定义接口
    image
  2. 定义实现接口的类
    image
  3. 定义需要调用的类并在构造函数中注入需要的接口
    image
  4. 创建使用
    image
  • 基于抽象基类的对象注入
    在Java源代码中的运用示例,如下图所示:
    image

2.1.3 singleton设计模式

  • 类图
  • 实现

    提示:.Net虚拟机(CLR)保证静态构造函数方法仅会被执行一次,其执行时机是此类中的任何一个成员被第一次访问时。

2.2 对象的销毁

2.2.1 析构方法

  • 代码示例
    image
  • 源码揭秘
    image
    提示:不要重写类的析构方法,应该让CLR/JVM负责销毁对象。如果确实需要显示回收资源,可以使用一种Disposable编程模式解决。

2.2.2 IDisposable接口

  • IDisposable接口
    image
  • IDisposable接口使用
    image
  • IDisposable编程模式代码框架
    image

2.2.3 Using关键字

  • Using代码示例
    image
  • 源码揭秘
    image

2.2.4 总结

  • 析构方法通常用于清理非托管的资源(文件资源、数据库链接等)。
  • Dispose()方法则可以同事清理托管和非托管的资源。
  • Dispose()方法应该能被安全的调用多次。

posted on 2021-10-16 10:26  草叶睡蜢  阅读(78)  评论(0编辑  收藏  举报