在构造方法初始化和在属性直接赋值有何不同?

https://img2.mukewang.com/5afbd3e100012b3f05110307.jpg

上图是教程的写法,如果如下这样写有何不同?

 private HashMap<Items, Integer> goods = new HashMap<Items, Integer>();
 private double totalPrice = 0.0;


qq_杀意隆_0
浏览 2072回答 2
2回答

liyanlong

在Cart()中赋值能起到懒加载的作用,也就是当你创建对象时才会赋值,直接赋值是加载器在加载这个类时就赋值了,相对来说你的写法比较耗内存,但还是要看需求,不同需求下根据性能情况不同,会用到不同的写法。

千山暮雪CN

在构造方法里面就进行初始化的作用是:当在其他的地方new一个Cart对象是,就会实例化(初始化)这个hashmap。如果是按照你的方法写:new完对象,调用响应的方法/变量时才回初始化(实例化)你定义的hashmap。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java