易百教程

34、可以重载构造函数吗?

是的,可以通过更改构造函数接受的参数数量或更改参数的数据类型来重载构造函数。 考虑以下示例:

class Test   
{  
    int i;   
    public Test(int k)  
    {  
        i=k;  
    }  
    public Test(int k, int m)  
    {  
        System.out.println("Hi I am assigning the value max(k, m) to i");  
        if(k>m)  
        {  
            i=k;   
        }  
        else   
        {  
            i=m;  
        }  
    }  
}  
public class Main   
{  
    public static void main (String args[])   
    {  
        Test test1 = new Test(10);  
        Test test2 = new Test(12, 15);  
        System.out.println(test1.i);  
        System.out.println(test2.i);  
    }  
}

在上面的程序中,构造函数 Test 被另一个构造函数重载。 在第一次调用构造函数时,调用带有一个参数的构造函数,并且 i 将被初始化为值 10。但是,在第二次调用构造函数时,调用带有 2 个参数的构造函数,并且 i 将被初始化值为 15