构造器是一个特殊的方法,这个特殊方法用于创建实例时执行初始化。
构造器是创建对象的重要途径(即使是使用工厂模式、反射等方式创建对象,其实质依然是依赖于构造器)
因此,java类必须包含一个或以上的构造器。
public class ConstructorTest
{
public String name;
public int count;
// 提供自定义的构造器,该构造器包含两个参数
public ConstructorTest(String name,int count)
{
// 构造器里的这个this代表它进行初始化的对象
// 下面两行代码将传入的2个参数赋给this对象的name和count实例变量
this.name = name;
this.count = count;
}
public static void mian (String[] args)
{
// 使用自定义的构造器来创建对象
// 系统将会对该对象执行自定义的初始化
var tc = new ConstructTest("疯狂Java讲义",9000);
System.out.println(tc.name);
System.out.println(tc.count);
}
}
注: 当系统开始执行构造器的执行体之前,系统已经创建了一个对象,只是这个对还不能被外部程序访问。只能在该构造器中通过this来引用。当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回,通常还会赋给另一个引用变量,从而让外部程序可以访问该对象。
如果一个类里面提供了多个构造器,这就形成了构造器的重载。
因为构造器主要用于被其他方法调用,用以返回该类的实例,因而通常把构造器设置成public访问权限,从而允许系统中任何位置的类来创建该类的对象。
设置为Protected ,主要用于被其子类调用。
设置为private,阻止其他类创建该类的实例。