Java中有几种类型的构造函数?

构造函数与method相似,它在创建类的对象时被调用,通常用于初始化类的实例变量。构造函数与其类具有相同的名称,并且没有返回类型。

有两种类型的构造函数:参数化构造函数和无参数构造函数。

参数化的构造函数

参数化的构造函数接受可以用来初始化实例变量的参数。使用参数化的构造函数,可以在使用不同的值实例化类时动态地初始化类变量。

示例

import java.util.Scanner;
public class Test {
   int num;
   String data;
   float flt;
   Test(int num, String data, float flt){
     this.num= num;
     this.data= data;
     this.flt= flt;
   }
   public static void main(String args[]){
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个整数值: ");
      int num = sc.nextInt();
      System.out.println("输入一个字符串值: ");
      String data = sc.next();
      System.out.println("输入浮点值: ");
      float flt = sc.nextFloat();      
      Test obj = new Test(num, data, flt);
      System.out.println(obj.num);
      System.out.println(obj.data);
      System.out.println(obj.flt);

   }
}
输出结果
输入一个整数值:
1024
输入一个字符串值:
test
输入浮点值:
11.2
1024
test
11.2

无参数构造函数

no-arg构造函数不接受任何参数,它使用各自的默认值实例化类变量(即,对于对象而言为null,对于float和double为0.0,对于Boolean为false,对于byte,short,int和long,为0)。

示例

public class Test {
   int num;
   String data;
   float flt;
   Test(){
     this.num= 100;
     this.data= "test";
     this.flt= 125.33f;
   }
   public static void main(String args[]){  
      Test obj = new Test();
      System.out.println(obj.num);
      System.out.println(obj.data);
      System.out.println(obj.flt);
   }
}
输出结果
100
test
125.33