按函数"unqualified"名称调用函数是什么意思?



这是Goodrich的《Java中的数据结构和算法》一书中的文本,该书第一章给出了使用this关键字的原因。

允许一个构造函数主体调用另一个构造函数体。当一个类的一个方法在当前例如,,这通常是通过使用另一个的(非限定(名称来完成的方法。但是调用构造函数的语法是特殊的。Java允许使用关键字this将用作一个构造函数的主体内的方法,以便调用具有不同签名的另一构造函数。

为什么它说其他方法的名称不合格?

从另一个方法调用一个方法有两种方法。一般来说,你会把它的名字称为合格。如果我有一个对象foo,它有一个方法frobnicate,我会做

foo.frobnicate();

现在,如果我已经在正确的实例中(比如说,我从foo上的另一个方法调用frobnicate(,那么我将使用特殊变量this

this.frobnicate();

但是Java允许我们作为一种快捷方式,省略this并简单地调用方法名称。以下是使用非限定名称调用方法的示例:

frobnicate();

this.是隐含的。

另一方面,该段试图说明的一点是,构造函数是特殊的。我们不将构造函数称为foo.frobnicate();我们只说CCD_ 10。因此,必须有特殊的语法才能从另一个构造函数(即this()(中调用构造函数。

最新更新