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,对于float和double为0.0,对于boolean为false,对于byte,short,int和long,则为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[]);
}