最近小编在看书,想多读点书,加多点肚子里的墨水,好提高下自己的编码水平,所以本来从不喜欢读书的我,就拿起了书本,这不,刚看两个条目,就有耳目一新的感觉,也为工作上带来了便利。
题外话多了,那么下面,就给大家介绍下三种实例化的方法吧。
构造方法
JDK的实例化方式,或许大家都习惯用这种方式多吧,这就不多说了,直接上代码
- People类
![「Java」从Bean类实例化开始,增强自己代码的可读性](http://p2.ttnews.xyz/loading.gif)
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");
静态工厂类
这个方式的优点书上列了四项:
- 它们有名称,可以区分实例化的情况
- 不必每次调用它们的时候都创建一个新的对象
- 它们可以返回原返回类型的任何子类型的对象
- 在创建参数化类型实例的时候,它们使代码变得更加简洁
但是也列出了两个缺点:
- 类如果不含公有的或者受保护的构造器,就不能被子类化
- 它们与其他的静态方法实际上没有任何区别
- People类
![「Java」从Bean类实例化开始,增强自己代码的可读性](http://p2.ttnews.xyz/loading.gif)
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类
在私有变量比较多的情况下
People类
- 调用
People people = People.getInstance().weight(58.4).height(178.0).age(25).job("programer");
第三种方式,小编并没有按照书上所写的那种方式编写,而是以构建器的思路自己的编码方式来展示,小编觉得更加简洁易懂。
另外呢,小编的水平有限,如果哪里写得不对,欢迎大家指出,同时,如果喜欢小编写的文章,也欢迎大家点一波关注,谢谢。
閱讀更多 Kuey的Java全棧日記 的文章