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

关于自定义Cat()无参构造函数是否为默认构造函数的疑问

关于Java中Cat()构造函数的类型归属说明

先明确两个核心概念:

  • 默认构造函数(default constructor):仅当类中没有显式定义任何构造函数时,由Java编译器自动生成的无参构造。它的函数体为空,会自动调用父类的无参构造。
  • 无参构造函数(no-argument constructor):指开发者手动显式定义的、不带参数的构造函数,无论函数体内部逻辑如何,都属于这类,不属于默认构造。

回到你的代码:

class Cat{
    String name;
    int age;

    Cat(){
        String name = "Tom";
        int age = 3; 
    }
}

你已经显式编写了这个无参的Cat()构造函数,因此编译器不会再生成默认构造函数。这个构造函数属于无参构造函数(非默认构造函数),而非默认构造函数。

额外补充:你构造函数里的name和age是局部变量,并没有对类的成员变量赋值,不过这一点不影响构造函数的类型判定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:45:35