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