Java中的默认构造函数有什么作用?


Java中的默认构造函数

构造函数在创建对象时对其进行初始化。它与它的类名相同,在语法上类似于方法。但是,构造函数没有显式的返回类型。它主要分为两种类型:

  • 带参数的构造函数 - 带有参数的构造函数。
  • 无参数构造函数 - 没有参数的构造函数。

示例

 在线演示

public class Sample{
   int num;
   Sample(){
      num = 100;
   }
   Sample(int num){
      this.num = num;
   }
   public static void main(String args[]){
      System.out.println(new Sample().num);
      System.out.println(new Sample(1000).num);
   }
}

输出

100
1000

默认构造函数

建议在定义类时提供上述任何一种构造函数。如果没有,Java编译器会代表你提供一个无参数的默认构造函数。

这是一个构造函数,它使用它们各自的默认值(例如,对象为null,浮点型和双精度型为0.0,布尔型为false,字节型、短整型、整型和长整型为0)初始化类的变量。

如果你观察下面的例子,我们没有为它提供任何构造函数。

public class Sample{
   int num;
   public static void main(String args[]){
      System.out.println(new Sample().num);
   }
}

如果你编译并运行上面的程序,默认构造函数会将整数变量num初始化为0,你将得到0作为结果。

使用javap验证

javap 命令显示关于类的字段、构造函数和方法的信息。如果你(在编译后)使用javap命令运行上面的类,你可以观察到编译器添加的默认构造函数,如下所示

D:\>javap Sample
Compiled from "Sample.java"
public class Sample {
   int num;
   public Sample();
   public static void main(java.lang.String[]);
}

更新于: 2020年3月12日

2K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告