4.2 Methods overloading
One of the important features in any programming language
is the use of names.
我们用名字引用或描述所有对象与方法。
在日常生活中,我们用相同的词表达多种不同的含义,即词的“重载”。
大多数程序设计语言要求我们为每个函数都设定一个独一无二的标识符。
但是构造函数的出现要求函数名也能够“重载”。
Often, the same word expresses a number of different meanings --
it's overloaded.
Case: Overloading.java
区分重载方法
每个重载的方法都必须采取独一无二的自变量类型列表。
primitives与重载
primitive类型能从一个较小的类型自动转变成一个较大的类型,涉及到重载时,
这会引起一些混乱。
Java首先寻找完全匹配的函数,如果找不到,就使用能够“放大”的类型的函数。
返回类型重载
不能通过返回类型的不同来重载函数。
缺省构造函数
如果一个类没有定义构造函数,则编译程序会帮我们自动创建一个缺省构造函数。
然而一旦定义了一个构造函数,就不会帮我们自动生成一个。
关键字this
this关键字可以为已调用了其方法的那个对象生成相应的句柄。
Case: Leaf.java
在一个构造函数中调用另一个构造函数时,用this关键字。
Case: Flower.java
构造函数调用必须是构造函数中的第一条语句,并且不能在一个构造函数调用两个以上的
构造函数。