「Java」从Bean类实例化开始,增强自己代码的可读性

最近小编在看书,想多读点书,加多点肚子里的墨水,好提高下自己的编码水平,所以本来从不喜欢读书的我,就拿起了书本,这不,刚看两个条目,就有耳目一新的感觉,也为工作上带来了便利。

题外话多了,那么下面,就给大家介绍下三种实例化的方法吧。

构造方法

JDK的实例化方式,或许大家都习惯用这种方式多吧,这就不多说了,直接上代码

  • People类
「Java」从Bean类实例化开始,增强自己代码的可读性

People类

  • 调用

People people = new People();

People people = new People(58.4, 178.0);

People people = new People(58.4, 178.0, 25);

People people = new People(58.4, 178.0, 25, "programer");

静态工厂类

这个方式的优点书上列了四项:

  1. 它们有名称,可以区分实例化的情况
  2. 不必每次调用它们的时候都创建一个新的对象
  3. 它们可以返回原返回类型的任何子类型的对象
  4. 在创建参数化类型实例的时候,它们使代码变得更加简洁

但是也列出了两个缺点:

  1. 类如果不含公有的或者受保护的构造器,就不能被子类化
  2. 它们与其他的静态方法实际上没有任何区别
  • People类
「Java」从Bean类实例化开始,增强自己代码的可读性

People类

  • 调用

People people = People.getInstance();

People people = People.getWHInstance(58.4, 178.0);

People people = People.getWHAInstance(58.4, 178.0, 25);

People people = People.getInstance(58.4, 178.0, 25, "programer");

构建器

相比较于之前的方式,这种方式让人觉得很巧妙(额,这个小编是这么觉得的)。

不妨来了解下这样的场景,在私有变量比较多的情况下:

  • 如果使用构造器,那么我们就需要传入一长串的参数,静态工厂类亦然
  • 如果你不介意那一长串的参数,那么你也会在传参的时候需要慢慢细读“第几位的参数对应哪一个私有变量”

那么怎么样的方式可以解决这种场景呢?请看以下代码:

  • People类

在私有变量比较多的情况下

「Java」从Bean类实例化开始,增强自己代码的可读性

People类

  • 调用

People people = People.getInstance().weight(58.4).height(178.0).age(25).job("programer");

第三种方式,小编并没有按照书上所写的那种方式编写,而是以构建器的思路自己的编码方式来展示,小编觉得更加简洁易懂。

另外呢,小编的水平有限,如果哪里写得不对,欢迎大家指出,同时,如果喜欢小编写的文章,也欢迎大家点一波关注,谢谢。


分享到:


相關文章: