对ImageIO的私有构造方法的理解

2021-03-03 12:27:03 浏览数 (1)

1. 来源


  • 昨天一个朋友问我,ImageIO类中显示实现了私有的无参构造方法,它的作用是什么?

2. 最初的想法


3. 之后的理解


  • 晚上闲下来之后,我查看了该类源码,发现其为final类(final类也就意味着不能被其他类继承),然后发现该类提供的方法都为static之后才恍然大悟。该类就是一个工具类,私有构造就是为了别人不能创建该类的对象,对于工具类而言,对象是没有任何意义的。

4. 工具类实现的总结


  1. 工具类定义为 final,可以防止被别人失误继承。
  2. 显示定义私有构造方法(默认的无参构造方法在同包中是可访问的)。
  3. 提供给其他类的工具方法需要定义成 static。

0 人点赞