美文网首页
创建和销毁对象

创建和销毁对象

作者: 蹩脚的粤语歌 | 来源:发表于2021-09-22 20:17 被阅读0次

使用静态工厂方法代替构造器

1.有名字 便于维护代码

2.可以返回同一个对象 减缓了内存开销

    如singleton 使用enum可以保证这一点

3.可以返回子类型 可以返回非公有 不可实例化的 等等 如EnumSet的公有静态方法

4.静态方法返回的类 在编写时静态工厂方法时不存在 (SPI Service Provider Interface)

5.静态方法在创建参数化类型实例的时候 是代码更简洁

遇到多个构造器参数时考虑使用构造器

1.如果使用有参构造 会对后续的维护造成一些麻烦 如你使用全参构造 后续你却添加了一个参数

用私有构造器或者枚举类型强化Singleton属性

恶汉式创建 singleton 仍然可以通过AccessibleObject.setAccessible方法来实例化对象 可以在对象的构造方法里面 抛出异常

懒汉式创建 会有线程安全问题

枚举创建 最为推荐的方式

通过私有构造器强化不可实例化的能力 

如一些工具类 DateUtils StringUtils 

避免创建不必要的对象

如构建公共常量 STRING COLLECTIONS

消除过期的对象引用

避免使用终结方法

相关文章

  • EffectJava翻译系列(第一章:创建和销毁对象)

    1.创建和销毁对象 这个章节包含创建和销毁对象,什么时候和怎样创建,什么时候避免创建,如何确保对象在准确的时机销毁...

  • Effective Java Note (对象的创建和销毁)

    Effective Java Note (对象的创建和销毁) 一、对象的创建和销毁 1. 考虑使用静态工厂方法替代...

  • 优雅地创建和销毁对象

    创建和销毁对象概述 何时以及如何创建对象 何时以及如何避免创建对象 如何确保对象适时地销毁 如何管理对象销毁之前必...

  • 创建和销毁对象

    1、何时以及如何创建对象? 2、何时以及如何避免创建对象? 3、如何确保它们能够适时地销毁,以及如何管理对象销毁之...

  • 创建和销毁对象

    避免创建不必要的对象 重用不可变对象和已经的不会被修改的对象 考虑下面的语句String s=new String...

  • 创建和销毁对象

    考虑用静态工厂方法代替构造函数 静态工厂方法只是一个简单的静态方法,它返回的是类的一个实例 三个优点 静态工厂方法...

  • 创建和销毁对象

    学习目的: 何时以及如何创建对象 何时以及如何避免创建对象 如何确保对象适时销毁 如何管理对象销毁前必须进行的各种...

  • 创建和销毁对象

    相比于构造函数,考虑使用静态工厂方法 如果自己写的类,希望客户端能创建它的实例,一般自己要提供哪些方式? 提供公有...

  • 创建和销毁对象

    什么是静态工厂方法 返回一个类的实例的静态方法 优势 不要用多态的方法创建构造器,可以选择不同命名的静态工厂方法来...

  • 创建和销毁对象

    第一条:考虑用静态工厂方法代替构造器。 第二条:遇到多个构造器参数时要考虑用构造器。 第三条:用私有构造器或者枚举...

网友评论

      本文标题:创建和销毁对象

      本文链接:https://www.haomeiwen.com/subject/ktuggltx.html