Java中可能有多个构造函数吗?
一个类中可以有多个构造函数。但是,构造函数的参数列表不应相同。这称为构造函数重载。
演示此的程序如下所示-
示例
class NumberValue { private int num; public NumberValue() { num = 6; } public NumberValue(int n) { num = n; } public void display() { System.out.println("The number is: " + num); } } public class Demo { public static void main(String[] args) { NumberValue obj1 = new NumberValue(); NumberValue obj2 = new NumberValue(15); obj1.display(); obj2.display(); } }
输出结果
The number is: 6 The number is: 15
现在让我们了解上面的程序。
使用数据成员num和display()
显示num值的单个成员函数创建NumberValue类。类NumberValue中有两个构造函数,其中一个不带参数,另一个不带int类型的单个参数。演示这的代码片段如下-
class NumberValue { private int num; public NumberValue() { num = 6; } public NumberValue(int n) { num = n; } public void display() { System.out.println("The number is: " + num); } }
在该main()
方法中,创建了NumberValue类的对象obj1和obj2,并display()
为它们两者调用了该方法。演示此代码段如下:
public class Demo { public static void main(String[] args) { NumberValue obj1 = new NumberValue(); NumberValue obj2 = new NumberValue(15); obj1.display(); obj2.display(); } }