《java编程思想》小结
最近在啃《java编程思想》,听说挺难看的,然后很久之前自己买了一本,现在啃了一点点了,就说一下自己在看的过程中不懂的地方和已经解决的问题吧。
- 初始化问题
以前觉得初始化不就是那么回事吗?赋个值就行了。然后这周读初始化与清理这一章,发现其中还真是有不少东西。比如说,对象的实例化,很多时候我们用java编程会出现报错:java.lang.NullPointerException,就是因为我们忘记将对象实例化,还没有分配空间给对象。
- 静态数据的初始化
无论创建多少个对象,静态数据都始终只占用一份存储区域,static这个关键字不能用于局部变量,它只能作用于域,而且一般初始化的顺序是先初始化静态对象,然后才是非静态对象。最重要的就是它只初始化一次,不管它被调用多少次,这就感觉像是“任尔东西南北风,我自岿然不动”。
- 可变参数列表
在java中的可变参数列表有一个缺点,就是当我们在使用重载方法时,一般只能在一个版本上使用可变参数列表,因为他很容易出现模糊,二义性的错误,无法准确的找到重载的方法是哪一个,所以这个可变参数列表要慎用。
- 单例模式
这个模式在上个学期的移动终端编程当中学了一点,只是当时不是很懂。然后这次通过看书学习,有了更深刻的认识。
class Soup2{
private Soup2(){}
private static Soup2 ps1=new Soup2();//singleton模式
public static Soup2 access()
{
return ps1;
}
}
上面的那个注释的部分就是单例模式,也就是说单例模式中你始终只能创建它的一个对象,而且单例模式有以下特点:
- 单例类只能有一个实例。
- 单例类必须自己创建自己的唯一实例。
- 单例类必须给所有其他对象提供这一实例。