首页 > java笔记 > Java构造函数用法介绍

Java构造函数用法介绍

更新:

Java构造函数是一个特殊的函数,它在创建对象时自动调用。构造函数的名称与类名完全相同,其目的是初始化对象的状态。

一、Java构造函数基础

Java中的构造函数主要用于初始化新创建的对象。它与类名相同,并且没有返回类型,包括void。

public class Car {
  String model; // 声明变量
  
  // 构造函数
  Car(String m) { 
    model = m; 
  }
}

在上述例子中,"Car"是构造函数,当我们实例化一个新的对象"myCar"后,"myCar"的属性"model"会自动被初始化为参数传递的值。

Car myCar = new Car("Tesla");

二、无参数构造函数与有参数构造函数

Java构造函数可以分为两种:无参数构造函数和有参数构造函数。无参数构造函数没有参数,有参数构造函数则可以传递一系列参数来初始化对象。

public class Car {
  String model;
  
  // 无参数构造函数
  Car() { 
    model = "Unknown"; 
  }

  // 有参数构造函数
  Car(String m) { 
    model = m; 
  }
}

在上述例子中,提供了两种构造函数,分别是无参数构造函数和有参数构造函数,实例化对象时,可以根据所提供的参数选择相应的构造函数。

Car myCar1 = new Car(); // myCar1.model is "Unknown"
Car myCar2 = new Car("Tesla"); // myCar2.model is "Tesla"

三、构造函数的重载

Java支持构造函数重载,即在一个类中可以定义多个名字相同但参数列表不同的构造函数。

public class Car {
  String model; 
  int year;

  // 构造函数1
  Car() { 
      model = "Unknown"; 
      year = 0; 
  }

  // 构造函数2
  Car(String m) { 
      model = m; 
      year = 0; 
  }

  // 构造函数3
  Car(String m, int y) { 
      model = m; 
      year = y; 
  }
}

在上述例子中,定义了三个构造函数:无参数构造函数、只有一个参数的构造函数和有两个参数的构造函数,这就是构造函数的重载。

Car myCar1 = new Car();
Car myCar2 = new Car("Tesla");
Car myCar3 = new Car("Tesla", 2021);
顶部