目录
构造器
构造器是一个特殊的方法,用来进行实例初始化的
- 无需声明返回值类型,如果声明了返回值类型,他就变成了普通的方法
- 构造器的作用:构造器是用来初始化实例的属性,new是用来创建对象的
- 构造器重载 —— 完全类似于方法重载。
- 两同:同一个类,构造器名相同
- 一不同:形参不同
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 main(String[] args) {
//使用自定义的构造器来创造器
//系统将会对该对象执行自定义的初始化
ConstructorTest tc = new ConstructorTest("dfgcs", 22);
//输出ConstructorTest对象的name和count两个实例变量
System.out.println(tc.name);
System.out.println(tc.count);
}
}
构造器重载
同一个类里具有多个构造器,多个构造器的形参列表不同,即被称为构造器重载。构造器重载允许Java类里包含多个初始化逻辑,从而允许使用不同的构造器来初始化Java对象。这是通过形参的不同来找相关的构造器。
构造器重载和方法重载类似:
- 要求构造器的名字相同,完全类似于方法重载。
- 两同:同一个类,构造器名相同
- 一不同:形参不同
public class ConstructorOverload {
public String name;
public int count;
//提供一个无参数构造器
public ConstructorOverload() {}
//提供带两个参数的构造器
//对该构造器返回的对象执行初始化
public ConstructorOverload(String name,int count) {
this.name=name;
this.count=count;
}
public static void main(String[] args) {
//通过无参数构造器创建ConstructorOverload对象
ConstructorOverload oc1 =new ConstructorOverload();
//通过有参数构造器创建ConstructorOverload对象
ConstructorOverload oc2 =new ConstructorOverload("构造器的重载",220000);
System.out.println(oc1.name+" "+oc1.count);
System.out.println(oc2.name+" "+oc2.count);
}
}
this的作用
- this的引用【this.XXXX】
- 在构造器中,this代表构造器正在初始化对象
- 在方法中,this代表调用该方法的实例
- this的调用【this(XXXX)】
- this调用当前类中另一个重载的构造器
public class Cat {
public String name;
public String color;
public double weight;
//两个参数的构造器
public Cat(String name,String color) {
this.name=name;
this.color=color;
}
//三个参数的构造器
public Cat(String name,String color,double weight) {
//通过this调用另一个重载的构造器的初始化代码
//这是从软件工程角度要求的,降低软件维护成本
this(name,color);
//下面this引用该构造器正在初始化的Java对象
this.weight=weight;
}
public void info() {
System.out.println(name+"是"+color+"的"+" , 有"+weight+"kg");
}
public static void main(String[] args) {
Cat cat = new Cat("小红", "红");
cat.info();
Cat cat2=new Cat("小蓝","蓝",52.36);
cat2.info();
}
}
本文深入解析Java中的构造器概念,包括构造器的定义、构造器重载以及this关键字的使用。通过实例演示如何利用构造器初始化对象,并展示了构造器重载在实际编程中的应用。

被折叠的 条评论
为什么被折叠?



