Java编程思想-初始化和清理

《Java 编程思想》第五章-初始化和清理,阅读笔记。

构造器

  1. 无参构造器,就是默认构造器。如果你没有定义任何构造器,则编译器自动帮你定义一个默认构造器;如果你定义了任何一个构造器,则编译器就不会再自动帮你定义了。

方法重载

方法重载规则:每个重载的方法都必须有一个独一无二的参数类型列表(即使顺序不同也可以,但是不推荐这么用,没啥真正含义却更让人迷惑)
返回值不同是否属于重载?当然不属于,因为你调用方法时编辑器能提示出你不同的参数列表,但是却提示不了不同的返回值!而且有时调用一个方法是不要其返回值的,要的只是调用这个方法产生的副作用,这样以来就很难辨别你到底调用的哪一种方法了,所以我们不用返回值区分重载。

this关键字

可以在一个构造函数中直接使用 this 调用另外一个构造函数,但必须符合两个条件:

  1. 只能使用 this 调用一次
  2. this 调用必须放在最前面

静态初始域和实例初始域外

涨姿势系列,没想到爪哇中不光有静态初始域,还有实例初始域!实例初始域在每次调用构造前执行。

可变长度类型参数

可变长度类型参数,即 print(Integer... args); 这样的,没想到爪哇中也加入了这种语法糖,它比使用数组作为参数更加便利的两个地方:

  1. 可以不传入任何参数;
  2. 不光可以使用数组作为参数,也可以使用参数列表来调用

枚举终于来了

十年之前的 Java 版本终于加入了枚举,之前 switch 中只能使用 int,char,而现在可以使用语义更加明确的枚举了。