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[]); }
广告