You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用函数的「非限定(unqualified)名称」是什么含义?结合Java语法解析

什么是Java中调用方法的「非限定(unqualified)名称」

指的是调用同类当前实例的方法时,不需要加任何限定前缀(比如this.、实例对象名、类名),直接书写方法名加参数列表完成调用的写法。

代码示例

public class Person {
    private String name;
    private int age;

    // 普通方法示例
    public void introduce() {
        // 直接调用printInfo()就是非限定名称调用
        printInfo();
        // 等价于带限定符this的写法:this.printInfo();
    }

    public void printInfo() {
        System.out.println("姓名:" + name + ",年龄:" + age);
    }

    // 结合原文语境补充构造函数的特殊规则
    public Person(String name) {
        // 调用另一个构造函数不能直接写Person(name, 0),必须用this限定
        this(name, 0);
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

普通实例方法调用时,非限定名称写法是Java默认允许的语法糖,编译器会自动给调用的方法补全this.前缀,指定调用当前实例的对应方法。但构造函数调用没有对应的语法糖,必须显式通过this(参数列表)的形式调用同类其他构造函数,这也是原文用来解释this关键字作用的核心逻辑。

内容的提问来源于stack exchange,提问作者nayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 01:54:03